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

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

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

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

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

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

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

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

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

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

Могу пару простеньких классов накидать без всяких гуи если надо
1
1 / 1 / 0
Регистрация: 19.04.2018
Сообщений: 30
12.09.2018, 11:11  [ТС] 3
Я короче каким-то мистическим образом натыкал и всё же получилось передать значение со спиннера класса GUI в спиннер класса GUI2. как оказалось нужно было прописать GUI class1 = new GUI(); во втором GUI а потом провернуть операцию spinner3.setValue(class1.spinner1.getValue());, но тут возникла другая проблема, я передаю начальное значение спиннера, а хотелось бы введённое пользователем. то есть я в первом 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
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
12.09.2018, 17:50 4
akscal, как ни пытался, не понял чего ты хочешь...
0
1 / 1 / 0
Регистрация: 19.04.2018
Сообщений: 30
12.09.2018, 21:02  [ТС] 5
хочу из спиннера 1 передать значение в спиннер 3, только нужно в него передать значение value не то, которое было при определении спиннера, а то, которое введёт пользователь
0
12.09.2018, 21:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2018, 21:02
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru