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

它是一个文本编辑器,就像记事本一样。使用“new”打开新的“windows”。

替代方案(所有在这个答案中提到或链接到The Use of Multiple JFrames, Good/Bad Practice?):

  1. JTabbedPane
  2. JDesktopPane包含JInternalFrame实例
  3. CardLayout
  4. (见链接答案..)
于 2012-06-06T11:07:41.903 回答
1

TUS 中的 WindowUtilities 和 WindowTiler 是解决这个问题的方法

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

于 2012-06-05T17:45:24.723 回答