我正在寻找这类问题的不同答案,但他们并没有达到我的规格。我有一个app1.java类。它具有public static void main
函数,其中有JOptionPane.showConfirmDialog
个对象。在单击yes
时,我想运行另一个名为" app2.java"的java文件。并关闭当前运行的applocation(即app1.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,因为它关闭了两个窗口。该怎么办?
答案 0 :(得分:2)
如果您使用JFrame
,则可以使用dispose()
方法关闭当前应用程序并使其可用于垃圾回收。
jframeObj.dispose();
new app2();
答案 1 :(得分:0)
关闭框架,但不是整个应用程序:
Jframe jframe = new JFrame();
jframe.dispose();
new app2();