如何在程序退出时执行代码呢??我的窗口类继承JFrame:class MainView extends JFrame,在哪里加入程序退出时的代码??

解决方案 »

  1.   

    addWindowListener(new WindowListener(){ @Override
    public void windowActivated(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowClosed(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowClosing(WindowEvent e) {
    System.out.println("exit");
    } @Override
    public void windowDeactivated(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowDeiconified(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowIconified(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowOpened(WindowEvent e) {
    // TODO Auto-generated method stub

    }

    });
    在windowClosing里面写
    不过如果是直接System.exit(0);退出的
    那就无能为力了
      

  2.   

    退出程序的话,可以
    Runtime.getRuntime().addShutdownHook(new Thread() {
        public void run() {
            //do something here
        }
    }); 
    如果是关闭窗口的话,可以加入监听
    your_frame.addWindowListener(new WindowListener() {
        public void windowClosing(WindowEvent e) {
            //here
        }
        public void windowClosed(WindowEvent e) {
            //here
        }
        //其他该接口方法
    });