Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 19.04.2018
Сообщений: 30

Переменную из одного класса в другой

10.09.2018, 22:25. Показов 2287. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Сам я новичок со стажем учил все языки программирования, ни в одном не разбираюсь, но сейчас дошло до дипломной работы. Пролистал кучу сайтов по вопросу как получить доступ одной переменной из одного класса в другом классе. Мысли пошли по указателям, но как оказалось я с С++ перепутал. Проще говоря есть public class GUI extends JFrame в котором есть объект spinner1, есть другой класс другого окна public class GUI2 extends JFrame, в нём есть spinner3. как мне передать значение spinner1 в spinner3. в слушателе кнопки первого окна я вставил spinner1.getValue(); в конструкторе другого окна spinner3.setValue(spinner1); Итогом в выражении spinner3.setValue(spinner1); значение(spinner1); выделяется красным и пишет не определить символ. Пробовал и класс импортировать по всякому и приписывать к переменной, и модификаторы доступа все испробовал и над первым классом объявлять, в общем всё о чём гугл выдавал. Помогите горе - чайнику, здесь же точно что-то простое, я просто ну реально не пойму.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.09.2018, 22:25
Ответы с готовыми решениями:

Как передать переменную из одного класса в другой
Есть окружность, а по ней в свою очередь движется точка. Часть кода: import javax.swing.*; import java.awt.*; import...

Передать переменную из одного класса в другой
Есть два класса Form1 и KV,KV унаследовано от Form1.НЕобходимо передать переменную из класса KV в класс Form1.Как это реализовать? Буду...

Как передать переменную из одного класса в другой?
Доброго времени суток. Говорю сразу, я новичек. Только начинаю свой тернистый путь. У меня возникла проблема, не могу понять как передать...

4
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
11.09.2018, 19:46
Цитата Сообщение от akscal Посмотреть сообщение
Сам я новичок со стажем учил все языки программирования, ни в одном не разбираюсь
браво! ты сделал мой день))) потому постараюсь помочь

если верно понял, то тебе например можно в конструкторе ГУИ2 принимать объект класса спинер1, то гда создаешь ГУИ1, создаешь там спинер1 и при создании ГУИ2 передаешь его туда. Подробнее трудно объяснить без кода.

Могу пару простеньких классов накидать без всяких гуи если надо
1
1 / 1 / 0
Регистрация: 19.04.2018
Сообщений: 30
12.09.2018, 11:11  [ТС]
Я короче каким-то мистическим образом натыкал и всё же получилось передать значение со спиннера класса GUI в спиннер класса GUI2. как оказалось нужно было прописать GUI class1 = new GUI(); во втором GUI а потом провернуть операцию spinner3.setValue(class1.spinner1.getVal ue());, но тут возникла другая проблема, я передаю начальное значение спиннера, а хотелось бы введённое пользователем. то есть я в первом GUI прописал spinner1.getValue(); но где-то прочёл что нужно значение вернуть иначе пользователь как бы не заканчивает ввод, вставлял всякие return и там и сям и с Value и с spinner1.getValue(), короче всё равно подчёркивает красным, по идее нужно какой-то метод создать наверное, но все так заумно пишут, как будто синтаксис с другого языка берут, в общем непонятно.
вот код
это первый гуи
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
 
public class GUI extends JFrame {
 
    private JLabel label = new JLabel("Введите параметры аппаратов");
    private JLabel labeln = new JLabel("\n");
    public JSpinner spinner1 = new JSpinner((new SpinnerNumberModel(0, 0, 1000, 1)));
    private JLabel label1 = new JLabel("значение 1");
    private JSpinner spinner2 = new JSpinner((new SpinnerNumberModel(0, 0, 1000, 1)));
    private JLabel label2 = new JLabel("значение 2");
    private JSpinner spinner3 = new JSpinner((new SpinnerNumberModel(0, 0, 1000, 1)));
    private JLabel label3 = new JLabel("значение 3");
    private JButton button = new JButton ("Подобрать");
 
 
 
    public GUI () {                                                 // конструктор формы
        super ("Ваш аппарат");                                   // название формы
 
        this.setBounds(100, 100, 400,500);     // размеры формы
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       // закрывает форму
 
        Container container = this.getContentPane();               //создание контейнера
        container.setLayout(new GridLayout(5, 2, 150, 70)); //размер сетки
        container.add(label);
        container.add(labeln);
        container.add(spinner1);
        container.add(label1);
        container.add(spinner2);
        container.add(label2);
        container.add(spinner3);
        container.add(label3);
        container.add(button);                                     // добавление кнопки в контенйнер
        button.addActionListener(new ButtonEventListener ());      // добавление действия кнопки
 
 
 
 
 
    }
    class ButtonEventListener implements ActionListener {          //наследование
        public void actionPerformed (ActionEvent e) {
            spinner1.getValue();
 
            GUI2 app1 = new GUI2();
            app1.setVisible(true);
 
 
 
        }
 
    }
 
 
}
это второй гуи

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
 
public class GUI2 extends JFrame {
    GUI class1 = new GUI();
 
 
    private JLabel label = new JLabel("Подходящие аппараты");
    private JButton button = new JButton ("Подобрать");
    private JSpinner spinner3  = new JSpinner((new SpinnerNumberModel(0, 0, 1000, 1)));
 
   public GUI2 () {
       super("Ваш аппарат");
       spinner3.setValue(class1.spinner1.getValue());
 
       this.setBounds(700, 100, 400, 500);     // размеры формы
 
       Container container = this.getContentPane();
       container.setLayout(new GridLayout(5, 2, 150, 70)); //размер сетки
       container.add(label);
       container.add(spinner3);
 
 
 
   }
}
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
12.09.2018, 17:50
akscal, как ни пытался, не понял чего ты хочешь...
0
1 / 1 / 0
Регистрация: 19.04.2018
Сообщений: 30
12.09.2018, 21:02  [ТС]
хочу из спиннера 1 передать значение в спиннер 3, только нужно в него передать значение value не то, которое было при определении спиннера, а то, которое введёт пользователь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2018, 21:02
Помогаю со студенческими работами здесь

Как передать переменную из одного класса в другой
Мне необходимо передать текст, введенный пользователем в первой форме, во вторую. Сейчас использую для этого global, но все говорят, что...

Как передавать переменную из одного класса в другой
Есть код, в нем мне надо передать 1. Все из Terrain в Tile и 2. Передать width и height из Terrain. Я уже пару часов пытаюсь сделать это. ...

Как взять переменную из одного класса и переместить в другой без наследования?
class A { public static void main(String args) { int a,b,c; for(int k=0;k<array.length;k++){ ...

Передать данные одного обьекта класса в другой обьект на другой форме
Здравствуйте прочитал вот это https://www.cyberforum.ru/windows-forms/thread110436.html но так и не понял как передать данные одного...

Есть два класса. Как из одного класса перенести данные в другой класс?
Есть два класса : планета и диспетчер планет. Диспетчер имеет информацию о планетах: их названия, координаты (в двумерном пространстве) и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru