this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这句话其实是1.4以后才有的,它代替了以前的WindowListener中的windoClose方法,EXIT_ON_CLOSE的意思是,当前窗口在点击关闭的时候,会关闭主线程,OK?所以你的所有应用都被关闭了
那么.你就不要这么设置,你的窗口在设置的时候写成,DISPOSE_ON_CLOSE就可以了.DIPOSE就是仅仅释放窗体资源,而不会关闭主线程.
这个DISPOSE_ON_CLOSE静态字段的设置,代替你在windoClose写"this.dispose()"
在frame2中考虑加以下代码
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
设置为~
DO_NOTHING_ON_CLOSE试试?
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
换成这个就可以了