Java 如何在关闭窗口/框架之前执行任务?

Java 如何在关闭窗口/框架之前执行任务?,java,swing,jframe,Java,Swing,Jframe,JFrame提供了一种方法setDefaultCloseOperation(JFrame.EXIT\u ON\u CLOSE)。我想在这个框架实际关闭之前运行一些代码。如何执行此操作?请参阅文档请参阅文档实现WindowListener并捕获窗口关闭事件。差不多- yourWindow.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEve

JFrame
提供了一种方法
setDefaultCloseOperation(JFrame.EXIT\u ON\u CLOSE)
。我想在这个框架实际关闭之前运行一些代码。如何执行此操作?

请参阅文档

请参阅文档

实现WindowListener并捕获窗口关闭事件。差不多-

    yourWindow.addWindowListener(new WindowAdapter() {
        @Override
         public void windowClosing(WindowEvent e) {
             // do something here
         }
    });

实现WindowListener并捕获窗口关闭事件。差不多-

    yourWindow.addWindowListener(new WindowAdapter() {
        @Override
         public void windowClosing(WindowEvent e) {
             // do something here
         }
    });
这样做

frame.addWindowsListener(new WindowAdapter() {

    public void windowClosing() {
        // do your work here
        frame.dispose();
    }         
}
这样做

frame.addWindowsListener(new WindowAdapter() {

    public void windowClosing() {
        // do your work here
        frame.dispose();
    }         
}

如果您想否决关闭,您还需要将
setDefaultCloseOperation(JFrame.EXIT\u ON\u CLOSE)
更改为类似于
setDefaultCloseOperation(JFrame.DO\u NOTHING\u ON\u CLOSE)
@MadProgrammer Yes,但不要忘记运行实际的退出code@WChargin你为什么要这样做?…;)如果您想否决关闭,您还需要将
setDefaultCloseOperation(JFrame.EXIT\u ON\u CLOSE)
更改为类似于
setDefaultCloseOperation(JFrame.DO\u NOTHING\u ON\u CLOSE)
@MadProgrammer Yes,但不要忘记运行实际的退出code@WChargin你为什么要这样做?…;)JFrame API中是否有某种方法允许您在关闭方法之前运行该方法?@SuperStar将自己的(用户定义的)方法放入:
public void windowClosing(){yourMethod();}
JFrame API中是否有某种方法允许您在关闭方法之前运行该方法?@SuperStar将自己的(用户定义的)方法放入方法:
public void windowClosing(){yourMethod();}
获得了它。JFrame是Window的一个子类,并且得到了它。JFrame是Window and的一个子类-