如何在单击按钮时关闭JFrame?

3
我希望我的窗口有一个按钮,点击该按钮时可以关闭窗口。

我发现可以按以下方式关闭窗口:

referenceToTheFrame.hide(); //hides the frame from view
refToTheFrame.dispose(); //disposes the frame from memory

但是如果我这样做,编译器会抱怨:

Note: myProgram.java uses or overrides a deprecated API
Note: Recompile with -Xlint:deprication for details.

我是否做了一些不安全的事情?


你不想在点击"X"时,只是让窗口关闭? - Frederik Wordenskjold
3个回答

10

推荐的方法是使用:

referenceToTheFrame.setVisible(false)

hide方法已被弃用,不应再使用。(尽管在内部setVisible将调用hideshow

此外,如果您想要销毁窗口,则必须手动调用dispose。(例如,如果您需要窗口关闭事件) 调用setDefaultCloseOperation对您没有帮助,因为它仅影响系统菜单中的关闭按钮点击后的行为。

有关更多信息,请参见Swing文档


2

DR给出了正确的答案。关于编译器警告: hide() 是一个已弃用的方法,属于Window类。请勿使用它,改用setVisible()方法。


2

在框架对象上使用dispose()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接