覆盖setDefaultCloseOperation

时间:2014-06-06 07:41:23

标签: java swing jframe override

我想自定义扩展JFrame的类的关闭操作。阅读其他代码完成同样事情的示例,我发现所有这些代码都使用WindowListener来实现它。为什么我们不能通过覆盖JFrame的 setDefaultCloseOperation 来做到这一点:

@Override
public void setDefaultCloseOperation(int operation) {

            super().setDefaultCloseOperation(operation);

            //DO SOME OTHER THING HERE
}

1 个答案:

答案 0 :(得分:3)

因为setDefaultCloseOperation可以随时调用,并且与处理当前帧无关。它只是改变当用户试图通过点击框架装饰上的“关闭按钮”来关闭窗口时会发生什么。

WindowListener会告诉您帧何时实际关闭或正在关闭......