Добрый день, вот простенькая программа. Пытаюсь получить в переменную новую надпись на кнопке, ничего не получается:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class Button {
static JButton button1 = new JButton();
}
class ButtonListener1 extends Button implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
button1.setText("Привет");
Font BigFontTR = new Font("TimesRoman", Font.BOLD, 100);
button1.setFont(BigFontTR);
}
}
public class Jitik extends ButtonListener1 {
public static void main(String[] args) {
JFrame frame = new JFrame("Jitik");
frame.setSize(800, 1000);
frame.setLocationRelativeTo(null);
JPanel panel = new JPanel(new GridLayout(2, 1, 5, 5));
frame.add(panel);
panel.add(button1);
button1.addActionListener(new ButtonListener1());
frame.setVisible(true);
String s = button1.getText();
System.out.println(s);
}
}
Объясните пожалуйста, как мне получить в переменную s новую надпись на кнопке?
Так ведь это тоже должно быть в actionPerformed, после setText, потому что listener'ы асинхронные.
И у вас не ничего не получается, а у кнопки пустой текст и он и выводится в консоль, если вы сделаете так System.out.println("|" + s + "|"); то все станет ясно, а пока вы просто тупите в силу недостаточно развитого нужного типа мышления.
Всем большое спасибо, все дело в потоках, буду разбираться.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
При создании своих Exceptions какие предпочесть Checked или UnChecked в Java? Какие преимущества/недостатки?
Вот, где обрабатывается запрос и при выборе элемента в списке снова запускается с новым параметром q: