-4

親である JFrame が 1 つあります。親 JFrame のボタンの 1 つを使用して、子ウィンドウである新しい JFrame を開きます。

子ウィンドウを閉じずに親ウィンドウにアクセスするようにユーザーを制限するにはどうすればよいですか?

JFrameに依存しているため、JDialogを使用できません。

4

1 に答える 1

2

あなたが探しているのはModality in Dialogsです。

見積もり:

  • モーダル ダイアログ ボックス — ダイアログ ボックスを所有者として作成されたウィンドウを除いて、アプリケーション内の他のいくつかのトップレベル ウィンドウへの入力をブロックするダイアログ ボックス。モーダル ダイアログ ボックスは、通常はボタンの押下に応答して閉じられるまで、ウィンドウ フォーカスをキャプチャします。

  • モードレス ダイアログ ボックス — このダイアログ ボックスが表示されている間、他のウィンドウで操作できるようにするダイアログ ボックス。

JDialog#setModalityType()Dialog.ModalityTypeも見てください。これらにより、ダイアログのモダリティ タイプを設定できます。

利用可能なタイプは次のとおりです。

  • APPLICATION_MODAL : APPLICATION_MODAL ダイアログは、同じ Java アプリケーションのすべてのトップレベル ウィンドウをブロックします。ただし、それ自体の子階層のウィンドウは除きます。
  • DOCUMENT_MODAL : DOCUMENT_MODAL ダイアログは、同じドキュメントからのすべてのトップレベル ウィンドウへの入力をブロックします。ただし、それ自体の子階層からの入力は除きます。
  • MODELESS : MODELESS ダイアログはトップレベル ウィンドウをブロックしません。
  • TOOLKIT_MODAL : TOOLKIT_MODAL ダイアログは、同じツールキットから実行されるすべての最上位ウィンドウをブロックします。ただし、それ自体の子階層からのウィンドウは除きます。
于 2013-05-23T05:39:06.683 に答える