我有一个简单的问题,但有点可疑。这是这种情况。
在我的应用程序中,您可以通过单击新按钮打开新窗口。当您单击“X”(关闭)按钮时,它首先会询问您是否要保存您的工作。如果没有,它将使用 system.exit(0) 退出。情况是,这会关闭所有打开的“新”窗口。我只想关闭用户选择“不保存”选项的窗口。我怎样才能做到这一点?请帮忙!
System.exit(0) 将关闭当前运行您的应用程序的 JVM,并且几乎可以肯定这不是您想要在此处执行的操作。
您几乎肯定希望在 Swing 中使用更惯用的方式来执行此操作。
对于简单地关闭打开的 JFrame 而不退出应用程序,您必须指定关闭时要执行的操作:
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
对于窗口关闭事件的高级控制,您必须使用WindowListener。官方教程见这里。
它是一个文本编辑器,就像记事本一样。使用“new”打开新的“windows”。
替代方案(所有在这个答案中提到或链接到The Use of Multiple JFrames, Good/Bad Practice?):
JTabbedPane
JDesktopPane
包含JInternalFrame
实例CardLayout
TUS 中的 WindowUtilities 和 WindowTiler 是解决这个问题的方法