假如现在有两个窗体,主窗体Frame,以及副窗体Frame1,程序启动时显示主窗体,主窗体上有一个button GO,点击之后可以进入副窗体,然后怎么实现关闭副窗体,不是只是让副窗体不可见,而是让副窗体关闭,将资源释放,然后返回主窗体。

解决方案 »

  1.   

    1、主窗体不要关闭,即隐藏setVisible(false);
    2、创建子一个窗体,操作后关闭,在该窗体中设置setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);即可。
    3、显示主窗体,即设置setVisible(true);
      

  2.   

    这样的话我怎么知道子窗体已经关闭,然后再把主窗体setVisible(true); 
      

  3.   

    在该窗体上添加WindowListener,监听窗体是否关闭。
      

  4.   


    我添加了一个窗口监听类WindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent we){  
      setVisible(true);  }});
    但是为什么不行。
      

  5.   

    这个窗口关闭的监听是设置在子窗口上的,并且在子窗口的类中添加父窗口类的依赖。
    即在子窗口的类中添加
    JFrame mainFrame = null;
    在new 这个子窗口时的构造函数中传递这个父窗体对象,就可以操作父窗口的显示了。
    所以你这个应该是设置父窗口的对象的mainFrame.setVisible(true);