代码如下,我运行时关了第二个窗口,然后第一个窗口也关了,怎样让第一窗口仍然保留?
急求
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(); 这个方法了。
窗口关闭通常有:
你关闭的是主窗体,关闭后,程序已经结束,所以第一个窗口也不存在了。
你关闭的窗体里面含有关闭第一个窗口的代码,关闭时,把第一个窗口关闭掉了。
怎么添加,我是纯小白,求你了
追答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);
}
........一些未实现的方法
});
}