button.getText() в Java

214
24 апреля 2017, 02:23

Добрый день, вот простенькая программа. Пытаюсь получить в переменную новую надпись на кнопке, ничего не получается:

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 новую надпись на кнопке?

Answer 1

Так ведь это тоже должно быть в actionPerformed, после setText, потому что listener'ы асинхронные.
И у вас не ничего не получается, а у кнопки пустой текст и он и выводится в консоль, если вы сделаете так System.out.println("|" + s + "|"); то все станет ясно, а пока вы просто тупите в силу недостаточно развитого нужного типа мышления.

Answer 2

Всем большое спасибо, все дело в потоках, буду разбираться.

READ ALSO
Exceptions Checked или UnChecked в Java?

Exceptions Checked или UnChecked в Java?

При создании своих Exceptions какие предпочесть Checked или UnChecked в Java? Какие преимущества/недостатки?

199
Первый раз отправляется get запрос, 2 раз нет

Первый раз отправляется get запрос, 2 раз нет

Вот, где обрабатывается запрос и при выборе элемента в списке снова запускается с новым параметром q:

220
Как изменить значение в Firebase

Как изменить значение в Firebase

Как изменить значение child-a в firebase?

427