在swing的窗口里面,即jframe里面,进行关闭窗口动作,如果事先不在代码中设置好,则默认是把窗口设成setVisable(false),程序还是依然运行着,继续占用内存,所以如果不小心,越调试则会发现内存占用率越高,机子越来越卡。

            一般的,如果没有特殊要求,只需要这样让该窗口对象调用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);则当我们关闭窗口时,程序结束运行  。                                                      
 

但是,如果有特殊要求,如关闭之前要调用一些方法,则可以这样:让该窗口对象调用addWindowListener(new WindowAdapter());方法,并重载方法内容,就像下面的代码那样。

addWindowListener(new WindowListener() {
            @Override
            public void windowOpened(WindowEvent e) {

            }

            @Override
            public void windowClosing(WindowEvent e) {
                // 此处加入操作动作
            }

            @Override
            public void windowClosed(WindowEvent e) {

            }

            @Override
            public void windowIconified(WindowEvent e) {
            }

            @Override
            public void windowDeiconified(WindowEvent e) {

            }

            @Override
            public void windowActivated(WindowEvent e) {

            }

            @Override
            public void windowDeactivated(WindowEvent e) {

            }
        });