【问题标题】:Close a java application and launch another application [duplicate]关闭一个java应用程序并启动另一个应用程序[重复]
【发布时间】: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,因为它会关闭两个窗口。应该怎么做?

【问题讨论】:

  • 请阅读此内容:Multiple JFrames,以免过多地惹恼您的应用程序用户
  • 注意new app2()不一定和执行app2做同样的事情,假设app2实际上是一个应用程序——也就是说,假设app2中有一个main()方法。

标签: java swing


【解决方案1】:

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

jframeObj.dispose();
new app2();

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      相关资源
      最近更新 更多