java关闭第二个窗口第一个窗口也关了怎么办

代码如下,我运行时关了第二个窗口,然后第一个窗口也关了,怎样让第一窗口仍然保留?
急求
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Frame1 extends JFrame {

private static final long serialVersionUID = 1L;
public static void main(String args[]) {
try {
Frame1 frame = new Frame1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
public Frame1() {
super();
getContentPane().setLayout(null);
setBounds(100, 100, 300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JButton btn = new JButton();
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new Frame2();
}
});
btn.setText("OpenFrame2");
btn.setBounds(92, 107, 106, 26);
getContentPane().add(btn);
}
}
=============================================
import javax.swing.JFrame;

public class Frame2 extends JFrame {

private static final long serialVersionUID = 1L;

public Frame2() {
super();
setTitle("Frame2");
setBounds(100, 100, 215, 99);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
在哪里加什么句子

这里面你需要确认一个问题,在关闭第二个窗口的时候,程序是不是已经结束执行了,也就是执行了 System.exit(); 这个方法了。

窗口关闭通常有:

    你关闭的是主窗体,关闭后,程序已经结束,所以第一个窗口也不存在了。

    你关闭的窗体里面含有关闭第一个窗口的代码,关闭时,把第一个窗口关闭掉了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-06
第二个窗口setDefaultCloseOperation(JFrame.DONOTHINGONCLOSE(do nothing on close 找这个))

自己添加frame2的窗口close监听 让后设置frame2,setVisible(false);追问

怎么添加,我是纯小白,求你了

追答

public Frame2() {
super();
setTitle("Frame2");
setBounds(100, 100, 215, 99);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setVisible(true);
}
addWindowListener(new WindowListener()写完这个后鼠标放上面add未实现的方法
{
public void windowClosed(WindowEvent e)这个是窗口关闭的监听
{
new Frame2().setVisible(false);

}
........一些未实现的方法
});
}

本回答被提问者采纳
相似回答