メインクラスで複数のウィンドウを管理しているプロジェクトに取り組んでいます。タイトルからわかるように、ウィンドウの JButton に問題があります。メイン メソッドは、特定のボタンが押されるのを待ちます。
public static void main(String[] args){
ButtonWindow bw = new ButtonWindow();
while(bw.buttonClicked() == false);
System.out.println("ok cool");
}
一方、ボタンの ActionListener は、ブール値 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);」を追加してチェックインしました)。
前もって感謝します
ああ、また、これを行うよりスマートな方法はありますか? このメソッドを継続的に呼び出すことは、実際に最も実用的なことだとは思いません。