2

簡単な質問がありますが、やや疑わしいです。これが状況です。

私のアプリケーションでは、新しいボタンをクリックして新しいウィンドウを開くことができます。「X」(閉じる)ボタンをクリックすると、最初に作業内容を保存するかどうかを尋ねられます。いいえの場合、system.exit(0)を使用して終了します。場合によっては、これにより、開いているすべての「新しい」ウィンドウが閉じます。ユーザーが「保存しない」オプションを選択したウィンドウのみを閉じたい。これどうやってするの?助けてください!

4

4 に答える 4

3

System.exit(0)は、現在アプリケーションを実行しているJVMをシャットダウンしますが、ここで実行したいことではないことはほぼ間違いありません。

Swingでより慣用的な方法を使用して、これを実行することはほぼ確実です。

于 2012-06-05T17:45:34.707 に答える
3

アプリケーションを終了せずに開いたJFrameを閉じるには、閉じるときに何をするかを指定する必要があります。

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

ウィンドウを閉じるイベントを事前に制御するには、WindowListenerを使用する必要があります。公式チュートリアルについては、こちらをご覧ください。

于 2012-06-05T17:45:46.010 に答える
1

TUSのWindowUtilitiesとWindowTilerは、この問題の解決策です

http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/ui/util/

于 2012-06-05T17:45:24.723 に答える
1

メモ帳のようなテキストエディタです。「new」を使用して、新しい「windows」を開きます。

代替案(この回答で言及されているか、複数のJFrameの使用、良い/悪い習慣にリンクされていますか?):

  1. JTabbedPane
  2. JDesktopPaneJInternalFrameインスタンスを含む
  3. CardLayout
  4. (リンクされた回答を参照してください。)
于 2012-06-06T11:07:41.903 に答える