我有一个Java项目 我有一个JFrame,附带一个处理程序,如此
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
this.setEnabled(true);
}
});
但是,在那个框架上我还有一个关闭按钮(使其更加用户友好),“关闭”按钮调用框架配置方法。现在,当我通过单击右上角的小x按钮关闭框架时,将调用WindowListener。但是当我调用dispose方法时,事件不会触发。
我应该调用一些其他方法来关闭,所以WindowListener会触发,或者可能实现另一个侦听器?
答案 0 :(得分:4)
在该框架上我还有一个关闭按钮(以使其更加用户友好)
查看Closing an Application解决方案以解决此问题。您真正需要做的就是在按钮上添加“ExitAction”,但如果需要,可以使用整个方法。
答案 1 :(得分:1)
我花了几天时间寻找与OP相同问题的解决方案。
它隐藏在视线之内。
如果通过 X 按钮关闭框架或调用windowClosed()
方法,则会调用myFrame.dispose()
方法。
JFrame myFrame = new JFrame();
myFrame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosed(java.awt.event.WindowEvent windowEvent) {
// your code
}
});