- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JFrame の再表示を禁止したい。)
JFrame の再表示を禁止したい
このQ&Aのポイント
- JFrame の再表示を禁止する方法について教えてください。
- 親ウィンドウのボタンを押した際に子ウィンドウが表示される仕組みがありますが、一度表示された後は再度表示させないようにしたいです。
- 上記の要件を満たすコードの実装方法がわかる方、教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
起動時にsubJFrame がnullのためsubJFrame.isActive() でNullPointerExceptionが 発生しているようです。 また親のフレームをクリックするとsubJFrameがアクティブではなくなるためisActive()が falseになっていまい、createFrame()メソッドが呼ばれてしまうようです。 そこで、subJFrameがnullかどうか(起動時)と表示状態かどうか(2つ目以降)でチェックするのは どうでしょうか? if ( subJFrame==null || !subJFrame.isVisible() ) { createFrame(); } 論理和演算子(||)は左辺が成り立つと右辺を評価しないため、NullPointerExceptionは 発生しなくなります。
お礼
ご回答いただきありがとうございます。 親フレームをクリックにより、subJFrameがアクティブではなくなる点、 論理和演算子(||)の評価の流れは、良い勉強になりました。