Я хочу, чтобы main печатал приветствие (во всплывающем диалоговом окне) каждый раз, когда нажимается кнопка. Поэтому я разработал следующую программу, но, похоже, она не работает. Программа компилируется и выполняется просто отлично, но когда я нажимаю кнопку, я не вижу всплывающего диалогового окна. Я установил геттер и сеттер логической переменной (button_clicked), значение которой проверяется в блоке main(). Помогите если знаете..
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class abc extends JFrame implements ActionListener{
boolean button_clicked = false;
JButton b1;
abc(){
this.setSize (400, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.createUI();
}
void createUI(){
this.setLayout(null);
b1 = new JButton("x");
b1.setSize(110,30);
b1.setLocation(10,210);
this.add(b1);
b1.addActionListener(this);
}
public boolean isButton_clicked() {
return button_clicked;
}
public void setButton_clicked(boolean button_clicked) {
this.button_clicked = button_clicked;
}
public void actionPerformed(ActionEvent arg0) {
button_clicked = true;
//I don't want to print the dialogue box from here..
//I want to keep everything under main()'s control.
}
}
public class tempMain extends JFrame {
public static void main(String[] args) {
abc temp = new abc();
temp.setVisible(true);
while(true){
if(temp.isButton_clicked())
JOptionPane.showMessageDialog(null, "Hello");
}
}
}
PropertyChangeListener
. - person trashgod   schedule 29.08.2012