关闭一个java应用程序并启动另一个应用程序[重复]

Posted

技术标签:

【中文标题】关闭一个java应用程序并启动另一个应用程序[重复]【英文标题】:Close a java application and launch another application [duplicate] 【发布时间】:2016-08-16 05:39:26 【问题描述】:

我正在寻找此类问题的不同答案,但它们不符合我的要求。我有一个类 app1.java。它具有public static void main 函数,其中有一个JOptionPane.showConfirmDialog 对象。单击yes 时,我想运行另一个名为“app2.java”的java 文件并关闭当前正在运行的应用程序位置(即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,因为它会关闭两个窗口。应该怎么做?

【问题讨论】:

查看***.com/questions/9572931/… 请阅读此内容:Multiple JFrames,以免过多地惹恼您的应用程序用户 注意new app2()不一定和执行app2做同样的事情,假设app2实际上是一个应用程序——也就是说,假设app2中有一个main()方法。 【参考方案1】:

如果您使用JFrame,那么您可以使用dispose() 方法关闭当前应用程序并使其可用于垃圾回收。

jframeObj.dispose();
new app2();

【讨论】:

【参考方案2】:

只关闭框架,而不是整个应用程序:

Jframe jframe = new JFrame();
jframe.dispose();
new app2();

【讨论】:

以上是关于关闭一个java应用程序并启动另一个应用程序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

启动另一个程序并充当其标准输出的程序[重复]

在启动程序关闭之前,其余代码将不会执行[重复]

启动Java应用程序一次并休眠还是重复启动和杀死更好?

Java关闭钩子的应用 - Shutdown Hook

Java SQL 语句关闭

《Java并发编程实战》---- 取消与关闭