如何通过单击按钮关闭JFrame?

时间:2010-04-08 13:05:25

标签: java swing user-interface jframe

我想在我的窗口中有一个按钮,如果我点击它(按钮),窗口就会关闭。

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

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.

我做一些不安全的事吗?

3 个答案:

答案 0 :(得分:10)

推荐的方法是使用:

referenceToTheFrame.setVisible(false)

不推荐使用hide方法,不应再使用该方法。 (虽然内部setVisible会拨打hideshow

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

有关详细信息,请参阅Swing documentation

答案 1 :(得分:2)

DR有正确的答案。关于编译器警告:hide()是属于Window的已弃用调用。不要使用它,坚持使用setVisible()。

答案 2 :(得分:2)

在框架对象上使用dispose()