我想自定义扩展JFrame的类的关闭操作。阅读其他代码完成同样事情的示例,我发现所有这些代码都使用WindowListener来实现它。为什么我们不能通过覆盖JFrame的 setDefaultCloseOperation 来做到这一点:
@Override
public void setDefaultCloseOperation(int operation) {
super().setDefaultCloseOperation(operation);
//DO SOME OTHER THING HERE
}
答案 0 :(得分:3)
因为setDefaultCloseOperation
可以随时调用,并且与处理当前帧无关。它只是改变当用户试图通过点击框架装饰上的“关闭按钮”来关闭窗口时会发生什么。
WindowListener
会告诉您帧何时实际关闭或正在关闭......