我建立了几个不同的窗口,但是为什么我关闭一个窗口,其他窗口也全关闭了,为什么啊?????

解决方案 »

  1.   

    估计有可能是你用了 System.exit()方法,这个方法会导致整个应用程序退出,而不是单独关闭一个窗口
      

  2.   

    没有用 system.exit()方法,我用的是setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 代码我贴到下面好了
      

  3.   

    第一个java。class文件代码如下:import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*;
    public class tb extends JFrame{ 
    JButton btn;
    public tb(){
    Container c=getContentPane();
    btn=new JButton("新建个窗口");
    btn.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    new NewFrame();
    }
    });
    c.add(btn,"South");
    setBounds(300,300,300,300);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
    new tb();
    }
    }第二个java.class文件代码如下:import java.awt.*;
    import javax.swing.*;
    public class NewFrame extends JFrame {
    public NewFrame(){
    JLabel label=new JLabel("为什么我点击窗口的关闭键俩个窗口都会关掉?");
    getContentPane().add(label);
    setBounds(100,100,300,200);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }
    请问为什么会这样??帮忙呀!!
      

  4.   

    EXIT_ON_CLOSE 
    参考文档是这么说的: 退出应用程序后的默认窗口关闭操作。
      

  5.   

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    这句话的意思就是窗口在点机关闭按扭(右上角那个×)时关闭整个程序,不论有多少个窗口,只要是属于这个程序,都会一起关闭,如果你想不这样的话,可以把第一个窗口继续设置setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);这个属性,作为主界面,第二个窗口在main方法里直接像第一个一样new出来,然后用tb界面里的按钮来控制他的setVisible属性,让他显示后者隐藏,这样就不涉及关闭程序的问题了。
      

  6.   

    你的意思应该是把窗口设为最小,而不是关闭,不要调用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)这个方法,这个会直接退出程序的,有个setMin***之类的方法你看看