• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JFrame の再表示を禁止したい。)

JFrame の再表示を禁止したい

このQ&Aのポイント
  • JFrame の再表示を禁止する方法について教えてください。
  • 親ウィンドウのボタンを押した際に子ウィンドウが表示される仕組みがありますが、一度表示された後は再度表示させないようにしたいです。
  • 上記の要件を満たすコードの実装方法がわかる方、教えてください。

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

  • ベストアンサー
  • tekebon
  • ベストアンサー率62% (36/58)
回答No.1

起動時にsubJFrame がnullのためsubJFrame.isActive() でNullPointerExceptionが 発生しているようです。 また親のフレームをクリックするとsubJFrameがアクティブではなくなるためisActive()が falseになっていまい、createFrame()メソッドが呼ばれてしまうようです。 そこで、subJFrameがnullかどうか(起動時)と表示状態かどうか(2つ目以降)でチェックするのは どうでしょうか? if ( subJFrame==null || !subJFrame.isVisible() ) { createFrame(); } 論理和演算子(||)は左辺が成り立つと右辺を評価しないため、NullPointerExceptionは 発生しなくなります。

yuki-01
質問者

お礼

ご回答いただきありがとうございます。 親フレームをクリックにより、subJFrameがアクティブではなくなる点、 論理和演算子(||)の評価の流れは、良い勉強になりました。

関連するQ&A

専門家に質問してみよう