关闭一个Java应用程序并启动另一个应用程序
问题描述:
我在寻找这种问题的不同答案,但它们不符合我的规范。我有一个类app1.java。它有public static void main
函数,其中有一个JOptionPane.showConfirmDialog
对象。点击yes
,我想运行另一个名为“app2.java”的java文件并关闭当前运行的applocation(即app1.java)。 我试过这段代码:关闭一个Java应用程序并启动另一个应用程序
int response = JOptionPane.showConfirmDialog(null, "Do you want to restart?", "Restart Game?",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (response == JOptionPane.NO_OPTION) {
System.exit(0);
}
else if (response == JOptionPane.YES_OPTION) {
new app2();
}
else if (response == JOptionPane.CLOSED_OPTION) {
System.exit(0);
}
的问题是,在点击是的,一个新的窗口打开,但前者不会关闭。我无法尝试System.exit,因为它关闭了两个窗口。应该做什么?
答
如果您使用的是JFrame
,那么您可以使用dispose()
方法关闭当前应用程序并使其可用于垃圾收集。
jframeObj.dispose();
new app2();
答
只需关闭框架,而不是整个应用程序:
Jframe jframe = new JFrame();
jframe.dispose();
new app2();
检查这个http://stackoverflow.com/questions/9572931/java-swing-application-close-one-window-并打开另一个当按钮被点击 – ziLk
并请阅读本文:[多个JFrames](http://stackoverflow.com/questions/9554636/the-use-of-multiple-jframes-good-or-不好的做法/ 9554657)在你惹恼你的应用程序用户之前 –
请注意,'new app2()'不一定与执行app2做同样的事情,假设app2实际上是一个应用程序 - 也就是说,假设有一个main()方法在app2中。 – FredK