日期:2014-05-20  浏览次数:20597 次

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); 隐藏起来