• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ボタンの有効化と無効化)

ボタンの有効化と無効化

このQ&Aのポイント
  • java swingを使い、メイン画面からサブ画面を呼び出すためのクラスを作成しました。
  • メイン画面には「GO」ボタンと「CANCEL」ボタンがあり、サブ画面が呼び出されると「GO」ボタンが無効化されます。
  • サブ画面が閉じられた瞬間に、メイン画面の「GO」ボタンを有効化する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • azumaiya
  • ベストアンサー率100% (5/5)
回答No.1

ウィンドウが閉じるときなどにコールバックしてもらうリスナーを登録するための Window#addWindowListener(WindowListener) という関数があります。 それを用いて MainWindow の SubWindow を作る箇所で SubWindow に WindowListener を登録し、WindowListener#windowClosed(WindowEvent e) で MainWindow の「GO」ボタンを有効にするようにしたらよいのではないでしょうか? コードは以下のような感じで書けばよいと思います。 // GO ボタンが押されたときの関数 void doGo() { goButton.setEnable(false); SubWindow subWin = new SubWindow(...); subWin.addWindowListener(new WindowListener() { public void windowClosed(WindowEvent e) { goButton.setEnable(true); } : }); : } http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/Window.html#addWindowListener(java.awt.event.WindowListener) http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/event/WindowListener.html#windowClosed(java.awt.event.WindowEvent)

arada0318
質問者

お礼

なるほど。 このような関数があるんですね。 作ってみたらきちんと動かすことができました。 ほんとに助かりました。 回答ありがとうございました。

関連するQ&A