我有一个Java项目。
我有一个附加了处理程序的JFrame像这样
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
this.setEnabled(true);
}
});
Run Code Online (Sandbox Code Playgroud)
但是,在该框架上,我还具有一个关闭按钮(以使其更加用户友好),并且该“关闭”按钮调用框架处理方法。现在,当我通过单击右上角的小x按钮关闭框架时,将调用WindowListener。但是,当我调用dispose方法时,该事件不会触发。
我应该调用其他方法关闭它,以便WindowListener触发,或者实现另一个侦听器吗?
您应该看看WindowListener 接口。
windowClosing():当用户尝试从窗口的系统菜单关闭窗口时调用。(窗口X按钮)
windowClosed():当窗口因调用dispose在窗口上而关闭时调用。
所以,只有在用户点击窗口的X按钮时windowClosing()才会调用;在调用事件时调用,所以它总是被调用:windowClosed()dispose()
JFrame myFrame = new JFrame();
myFrame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosed(java.awt.event.WindowEvent windowEvent) {
// your code
}
});
Run Code Online (Sandbox Code Playgroud)
资料来源:https : //alvinalexander.com/blog/post/jfc-swing/closure-your-java-swing-application-when-user-presses-close-but
| 归档时间: |
|
| 查看次数: |
14711 次 |
| 最近记录: |