Java如何在Swing中处理窗口关闭事件?

在这里,您将看到如何处理的窗口关闭事件JFrame。您需要做的是实现一个java.awt.event.WindowListener接口并调用frameaddWindowListener()方法以将侦听器添加到frame实例。处理关闭事件将实现windowClosing()接口的方法。

但是,除了实现java.awt.event.WindowListener要求我们实现接口中定义的全部方法的接口之外,我们可以创建WindowAdapter对象的实例,并仅覆盖我们需要的方法,即windowsClosing()方法。让我们看看下面的代码片段。

package org.nhooo.example.swing;

import javax.swing.JFrame;
import java.awt.Button;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class WindowClosingDemo extends JFrame {
    public static void main(String[] args) {
        WindowClosingDemo frame = new WindowClosingDemo();
        frame.setSize(new Dimension(250, 250));
        frame.add(new Button("Hello World"));

        // 通过实现WindowAdapter类来添加窗口侦听器
        //框架实例。要处理关闭事件,我们只需要
        // 实现windowClosing()方法。
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.out.println("WindowClosingDemo.windowClosing");
                System.exit(0);
            }
        });

        // 显示框架
        frame.setVisible(true);
    }
}