java - 如何以编程方式关闭 JFrame

标签 java swing jframe

获取JFrame 的正确方法是什么?关闭,就像用户点击了 X关闭按钮,或按下 Alt+F4(在 Windows 上)?

我有我的默认关闭操作设置我想要的方式,通过:

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

它完全符合我对上述控件的要求。这个问题不是关于那个的。

我真正想做的是使 GUI 的行为方式与按下 X 的方式相同。关闭按钮会导致它的行为。

假设我要扩展 WindowAdaptor然后通过 addWindowListener() 添加我的适配器实例作为监听器.我希望通过 windowDeactivated() 看到相同的调用序列, windowClosing() , 和 windowClosed()X 一样关闭按钮。与其说是撕毁 window ,不如说是告诉它自己撕毁。

最佳答案

如果您希望 GUI 的行为就像您单击了 X 关闭按钮,那么您需要向 Window 发送一个窗口关闭事件。 Closing An Application 中的 ExitAction允许您将此功能添加到菜单项或任何使用 Action 轻松的组件。

frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));

关于java - 如何以编程方式关闭 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1234912/

相关文章:

java - 使用嵌套 for 循环填充多维数组

java - 可扩展组件以隐藏或取消隐藏另一个组件

java - 以最大化方式启动 JEditorPane

java - 当我引用两个类时出现 StackOverflow 错误。为什么?

java - 为什么我的扫描仪类无法读取 3 变量

java - Kubernetes java-api 更新容器镜像

java - JSF 应用程序,如果之前调用了不同的操作,操作将不起作用

java - 为什么我的 JPanel 会与 JFrame 上的其他组件混淆?

swing - 我正在用 Java 制作游戏,每当我尝试调出游戏菜单时,程序就会最小化?

java - 如何从一个jframe到另一个jframe访问jtextarea