大家好: 我有一个Java Swing应用程序。有一个按钮允许用户创建打开应用程序的新窗口。当用户决定关闭应用程序时,我使用System.Exit(0),但是当我按下“关闭”按钮时,两个应用程序窗口都关闭。
public static void main(String[] args)
{
ghMain = new GreenHouseMain();
}
上面是我初始化第一个应用程序的方法,然后使用相同的代码创建新的GreenHouseMain对象来打开第二个应用程序窗口。
所以我的问题是如何只关闭我按下的关闭按钮的一个应用程序窗口?
全部谢谢
答案 0 :(得分:3)
在要关闭的Window对象上调用dispose()而不是System.exit()。当没有更多可见窗口时,Event Dispatch线程将退出。
答案 1 :(得分:1)
我假设两个窗口都是JFrame。如果是这样,最好将第二个窗口设置为JDialog,模态或非模态,具体取决于您的要求。如果您需要打开两个窗口并希望能够让用户选择要关闭的窗口,那么可能两者都需要是对话框,尽管我根据您提供的信息并非100%确定。如果这些建议无法解决您的问题,请向我们提供有关您具体要求的更多详细信息。
答案 2 :(得分:1)
read the javadocs用于setDefaultCloseOperation。 System.exit()
正在完全按照预期行事,所以要摆脱它。