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

Как передать переменную из одного класса в другой

21.09.2018, 23:39. Показов 2255. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть окружность, а по ней в свою очередь движется точка.

Часть кода:

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import javax.swing.*;
 
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;
 
public class Test extends JComponent {
    private double angle;
 
 
    @Override
    protected void paintComponent(Graphics g) {
 
       //здесь задаем параметры окружности и точки
        
    }
 
    private Shape circle(double x, double y, double r) {
        return new Ellipse2D.Double(x - r, y - r, 2 * r, 2 * r);
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame = new JFrame("Point on circle");
                JLabel lb = new JLabel ("Введите скорость:");
                lb.setFont(new Font("TimesNewRoman", Font.PLAIN, 17));
                JTextField t_vvod = new JTextField("", 20);
                t_vvod.setFont(new Font("TimesNewRoman", Font.PLAIN, 17));
                JButton bt = new JButton("Ввести");
                bt.setFont(new Font("TimesNewRoman", Font.PLAIN, 17));
                frame.add(lb);
                frame.add(t_vvod);
                frame.add(bt);
                frame.add(new Test());
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setSize(400, 500);
                frame.setVisible(true);
                frame.setResizable(false);
                lb.setBounds(5, 395, 250, 50);
                t_vvod.setBounds(160, 410, 210, 23);
                bt.setBounds(5, 435, 365, 20);
                
                bt.addActionListener(new ActionListener() {                    //Здесь происходит обработка нажатия кнопки
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        String str = t_vvod.getText();
                        Double speed = Double.parseDouble(str);
                        
                    }
                    
                });
               
            }
            
        });
        
    }    
    
    public Test() {       //****
        angle = 0;
        Timer timer = new Timer(30, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                angle += 0.5;   //скорость
                repaint();
            }
        });
        timer.start();
    }
    
    
}
В конечном счете у нас будет окружность, по ней будет двигаться точка, а скорость мы будем вводить в поле JTextField. Но есть проблема. Скорость задается в месте, которое я пометил как "****", а обработка нажатия в другом классе. Соответственно в классе "****" переменную, в которую записалось значение с поля, не будет видно. Как быть в данной ситуации?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.09.2018, 23:39
Ответы с готовыми решениями:

Переменную из одного класса в другой
Здравствуйте. Сам я новичок со стажем учил все языки программирования, ни в одном не разбираюсь, но сейчас дошло до дипломной работы....

Передать число из одного класса в другой
Решил проверить, получится ли написать вычислялку по формуле. Вроде все сделал, но не могу передать число из одного класса в другой. Как...

Как можно передать значения переменных из одного класса в другой?
1) Не могу понять, почему в Borland JBuilder создавая два Фрейма в разных классах при запуске я вижу только одно. package temp1; ...

2
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
22.09.2018, 03:28
Лучший ответ Сообщение было отмечено Imperion как решение

Решение

Imperion, объяви public static переменную...
1
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
22.09.2018, 09:12  [ТС]
Разобрался, спасибо!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.09.2018, 09:12
Помогаю со студенческими работами здесь

Передача массива из одного класса в другой
Есть 2 файла классов и в одном объявляется массив n элементов. Как его передать во второй класс? При обращении к элементам массива мне...

Передать переменную на другой окно
Всем добрый день! Подскажите пожалуйста как можно передать переменную в другое окно JavaFX. К примеру в первом окне у меня содержится ...

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

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

Как передать переменную из одного MovieClip в другой?
Как передать переменную из одного MovieClip в другой? Заранее, спасибо.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru