JFrame 的程序化关闭

2022-09-04 20:16:51

单击 JFrame 右上角的关闭 (x) 按钮的编程等效项是什么?

有方法,但这不是一回事,因为JFrame可以设置为在关闭时做几件不同的事情(更不用说是否涉及WindowListenerdispose()


答案 1

告诉组件调度事件。在这种情况下,您希望它调度一个窗口关闭事件。

private void exit() {
    this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));
}

答案 2

当你在JFrame上点击x时,系统可以被设置为做各种事情。默认是窗口只是用setVisible(false)隐藏,我相信。

您可以设置一个帧以在关闭时执行不同的操作 - 您可以让它基于 setDefaultCloseOperation 释放、隐藏或调用代码。以下是选项:

DO_NOTHING_ON_CLOSE:不要做任何事情;要求程序处理已注册的 WindowListener 对象的 windowClosing 方法中的操作。

HIDE_ON_CLOSE:在调用任何已注册的 WindowListener 对象后自动隐藏框架。

DISPOSE_ON_CLOSE:在调用任何已注册的 WindowListener 对象后自动隐藏并释放框架。

EXIT_ON_CLOSE:使用系统退出方法退出应用程序。仅在应用程序中使用它。

但我认为你所追求的是setVisible(false)。


推荐