swing窗口关闭事件
时间: 2023-07-19 20:18:15 浏览: 54
在Swing中,可以通过添加WindowListener接口来监听窗口关闭事件。具体步骤如下:
1. 创建一个继承自WindowAdapter的类,实现windowClosing方法,该方法会在窗口关闭时被调用。
2. 在窗口中添加该类的实例作为WindowListener。
下面是示例代码:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyFrame extends JFrame {
public MyFrame() {
super("MyFrame");
setSize(400, 300);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int result = JOptionPane.showConfirmDialog(MyFrame.this, "确认退出吗?");
if(result == JOptionPane.YES_OPTION) {
dispose();
System.exit(0);
}
}
});
setVisible(true);
}
public static void main(String[] args) {
new MyFrame();
}
}
```
在这个例子中,我们创建了一个MyFrame类,它继承自JFrame,并实现了WindowListener接口。在构造方法中,我们设置了窗口的标题、大小和关闭操作。然后,通过addWindowListener方法将一个继承自WindowAdapter的匿名内部类添加为窗口的监听器。在这个匿名内部类中,我们重写了windowClosing方法,当窗口关闭时会弹出一个确认对话框,询问用户是否确认退出。如果用户点击了“是”,则销毁窗口并退出应用程序。