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

时间:2011-05-16 06:09:05

标签: java swing windowlistener

我正在Swing工具包中创建一个表单 当我想要关闭它时,我会转到JFrame并将其设置为可见的假 由于框架创建了表单的Java类,因此我可以从外部轻松完成。

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

 Jframe.setVisible (false)

有更好的方法吗?

2 个答案:

答案 0 :(得分:5)

SwingUtilities类提供了获取给定组件的窗口祖先的方法。 您可以访问父窗口并调用setVisibledispose,也可以只调用一个事件。

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

答案 1 :(得分:0)

如果您不需要编写太多代码,请尝试这些! click here to view image