A窗体生成B窗体,如何编程才能时B退出时,A依然存在?
父窗体A(JFrame)中通过 new BJFrame 生成了一个子窗体B,
B中有一个Exit按钮,我写的函数是 System.exit(0),
但是一旦按了B的这个Exit, A窗体也消失了。
如果要向B退出时,A仍然保留,应该如何编程?
谢谢!
------解决方案--------------------public class Frame extends JFrame{
Frame()
{
super("A");
JButton b1=new JButton("弹出");
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
final JFrame b=new JFrame("B");
JButton b2=new JButton("Exit");
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
b.dispose();
}
});
b.add(b2);
b.setSize(300,300);
b.setVisible(true);
}
});
setSize(300,300);
add(b1);
setVisible(true);
}
public static void main(String[] args)
{
Frame a=new Frame();
}
}
参考一下我的代码吧,不能用System.exit(0),会推出整个程序,将B窗口的对象调用dispose(),即可只关闭一个窗体
------解决方案--------------------System.exit(0)是直接退出系统了。。。
你应该调用窗口关闭的函数或者隐藏窗口
------解决方案--------------------不要用System.exit(0)
可以用 dispose()或setVisible(false),前者b窗体销毁,后者只是隐藏b窗体
------解决方案--------------------把System.exit(0);换成B.setVisible(false);
这样就会保留A窗口。
------解决方案--------------------如果是create出来的,最好用 dispose()
如果是A类的子类,最好用 setVisible(false); 隐藏起来