2013-07-30 53 views
2

让我先说明情况, 我有一个JPanel一类叫做panelclass。 它的方法getPanel()返回JPanel。从面板关闭一个框架

在JFrame类叫做frameclass,我创建panelclass的新对象,得到了它的面板,并把它添加到框架窗格。

我所试图实现的是,在paneclass一个按钮被点击时,应该关闭这个JFrame的ie.frameclass。 我DONOT知道panelclass如何传达回frameclass关闭。 我试过this.dispose()和super.dispose(),但即使在扩展JFrame后也不成功

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

回答

3

有几个是为了实现这一点,但最简单的可能是通过使用SwingUtilities.getWindowAncestor(Component)

这将返回Window该组件被添加或null如果它没有父窗口。从那里你可以简单地致电Window#dispose关闭框架。

+0

哇,它的工作。 非常感谢! –

+1

@XperiazX听起来不那么震惊;) – MadProgrammer

1

在paneclass一个按钮被点击时,应该关闭这个JFrame的

Closing an Application。我更喜欢使用类似于那里描述的'ExitAction'。其原因是,应用程序将表现就像用户点击框架的关闭按钮,这意味着,如果您有任何WindowListeners添加到它们将被调用的窗口。