从面板关闭框架

时间:2013-07-30 05:35:50

标签: java swing jframe jpanel

首先让我解释一下情况, 我有一个名为panelclass的JPanel类。 它的方法是getPanel()返回JPanel。

在一个名为frameclass的JFrame类中,我创建了一个新的panelclass对象,得到了它的面板并将其添加到框架窗格中。

我想要实现的是,当单击窗格中的按钮时,它应该关闭此JFrame ie.frameclass。 我不知道一个panelclass如何与框架类进行通信以关闭。 我尝试了this.dispose()和super.dispose(),但即使在扩展JFrame

后也没有成功

有更简单的方法吗? 请帮忙。

2 个答案:

答案 0 :(得分:3)

有一些是为了实现这一目标,但最简单的可能就是使用SwingUtilities.getWindowAncestor(Component)

如果没有父窗口,这将返回添加组件的Windownull。从那里,您只需拨打Window#dispose即可关闭相框。

答案 1 :(得分:1)

  

单击窗格中的按钮时,应关闭此JFrame

Closing an Application。我更喜欢使用像那里描述的`ExitAction'之类的东西。原因是您的应用程序的行为就像用户单击框架的关闭按钮一样,这意味着如果您有任何WindowListener添加到窗口,它们将被调用。