我正在做一个项目,因为我在主类中管理多个窗口。从标题可以看出,我在窗口中遇到了 JButtons 的问题。main 方法将等待一个特定的按钮被按下:
public static void main(String[] args){
ButtonWindow bw = new ButtonWindow();
while(bw.buttonClicked() == false);
System.out.println("ok cool");
}
同时,按钮的 ActionListener 将触发 boolean d(方法 buttonClicked() 返回的那个)设置为 true。
public boolean d = false;
public ButtonWindow(){
JPanel cp;
JButton b;
setContentPane(cp = new JPanel());
cp.add(b = new JButton("Click me"));
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
d = true;
}
});
setSize(200, 200);
setVisible(true);
}
public boolean buttonClicked() {
return d;
}
现在,似乎 main 方法卡在了 while 循环中。这怎么可能,因为“d”已被更改(我在按钮的 ActionListener 中使用额外的“System.out.println("" + d);" 将其签入)?
提前致谢
哦,还有,有没有更聪明的方法呢?我不认为连续调用这个方法是最实际的事情,真的。