簡単な質問がありますが、やや疑わしいです。これが状況です。
私のアプリケーションでは、新しいボタンをクリックして新しいウィンドウを開くことができます。「X」(閉じる)ボタンをクリックすると、最初に作業内容を保存するかどうかを尋ねられます。いいえの場合、system.exit(0)を使用して終了します。場合によっては、これにより、開いているすべての「新しい」ウィンドウが閉じます。ユーザーが「保存しない」オプションを選択したウィンドウのみを閉じたい。これどうやってするの?助けてください!
System.exit(0)は、現在アプリケーションを実行しているJVMをシャットダウンしますが、ここで実行したいことではないことはほぼ間違いありません。
Swingでより慣用的な方法を使用して、これを実行することはほぼ確実です。
アプリケーションを終了せずに開いたJFrameを閉じるには、閉じるときに何をするかを指定する必要があります。
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
ウィンドウを閉じるイベントを事前に制御するには、WindowListenerを使用する必要があります。公式チュートリアルについては、こちらをご覧ください。
TUSのWindowUtilitiesとWindowTilerは、この問題の解決策です
メモ帳のようなテキストエディタです。「new」を使用して、新しい「windows」を開きます。
代替案(この回答で言及されているか、複数のJFrameの使用、良い/悪い習慣にリンクされていますか?):
JTabbedPane
JDesktopPane
JInternalFrame
インスタンスを含むCardLayout