Swing - 如何从内部关闭表单?如何关闭窗体而不影响父窗体?

发布于 2024-11-07 14:21:38 字数 223 浏览 0 评论 0原文

我正在 Swing 工具包中创建一个表单。
当我想关闭它时,我转到 JFrame 并将其设置为visible false。
由于该框架创建了该表单的 Java 类,因此我可以轻松地从外部执行此操作。

当我有取消按钮时,我通常会在调用外部的表单内发送一个侦听器:

 Jframe.setVisible (false)

有更好的方法吗?

I am creating a form in Swing toolkit.
When I want to close it, I go to the JFrame and set it to visible false.
Since the frame creates a Java class of the form, I can easily do it from outside.

When I have a cancel button I usually send a listener inside the form that calls the outer:

 Jframe.setVisible (false)

Is there a better way ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

违心° 2024-11-14 14:21:38

SwingUtilities 类提供了一种获取给定组件的窗口祖先的方法。
您可以获取父窗口并调用 setVisibledispose 或者仅调用一个事件。

Window window = SwingUtilities.getWindowAncestor(this);
window.setVisible( false );
    // OR
window.dispose();
    // OR
WindowListener[] windowListeners = window.getWindowListeners();
windowListeners[0].windowClosing( null );

The SwingUtilities class provide a method to get the window ancestor of a given component.
You can gat the parent Window and call setVisible or dispose or perhaps only an event.

Window window = SwingUtilities.getWindowAncestor(this);
window.setVisible( false );
    // OR
window.dispose();
    // OR
WindowListener[] windowListeners = window.getWindowListeners();
windowListeners[0].windowClosing( null );
缺⑴份安定 2024-11-14 14:21:38

如果您不需要编写太多代码,请尝试这些!
点击此处查看图片

try these if you do not need to code much!
click here to view image

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文