在关闭JFrame之前如何执行函数

时间:2012-12-12 00:09:28

标签: java swing jframe awt windowlistener

  

可能重复:
  Call a method when application closes

我想在使用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)关闭我的java应用程序之前调用一个方法; 我已经尝试了WindowListener与windowClosed / windowsClosing,它不起作用。   它看起来像这样

public class exampleFrame JFrame implements{

public exampleFrame (){
    this.addWindowListener(new windowAction());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

class windowAction implements WindowListener{

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

        }

        @Override
        public void windowClosed(WindowEvent e) {
        System.out.prinln("window closed")

        }

        @Override
        public void windowClosing(WindowEvent e) {
            // TODO Auto-generated method stub
            System.out.prinln("window closing")
        }

        @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

        }

    }

}

1 个答案:

答案 0 :(得分:-1)

我认为你想要的是这样的:

public class ExampleFrame extends JFrame{
   public ExampleFrame(){

      // you can use WindowAdapter and implement only the methods you need
      addWindowListner(new WindowAdapter(){

           @Override
           public void windowClosing(WindowEvent et) {
               System.out.println("Window closing");
           }
      }
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}