如何启动新窗口(自身的副本),然后单独关闭每个窗口?在java中

时间:2010-11-14 19:52:13

标签: java swing

我希望我的程序能够启动自己的另一个副本,这个

new Thread(){
     public void run() {
             main.main(new String[]{});
     }
}.start();

是我迄今为止所拥有的。它有效。 (主要类,在main.java中启动程序的其余部分,并在整个操作过程中为后端提供服务)。


现在,当我按下任何一个窗口上的关闭按钮时,它会将它们全部关闭。期望的效果是它只关闭一个。

我已经尝试了Application.ExitListener的各种各样的事情,但我也尝试用另一种方法打开新窗口:

main s = new main();
s.main(new String[]{});

我正在考虑获取文件路径,然后从那里简单地拥有它Runtime.getRuntime().exec();。在这次尝试中,我能够很好地获得路径,但不能获得.jar文件的名称。

1 个答案:

答案 0 :(得分:1)

  

现在,当我按下任何一个窗口上的关闭按钮时,它将全部关闭

听起来像你在使用:

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

应该是:

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);