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

Rom*_*man 3 java user-interface swing jframe

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

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

referenceToTheFrame.hide(); //hides the frame from view
refToTheFrame.dispose(); //disposes the frame from memory
Run Code Online (Sandbox Code Playgroud)

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

Note: myProgram.java uses or overrides a deprecated API
Note: Recompile with -Xlint:deprication for details.
Run Code Online (Sandbox Code Playgroud)

我做一些不安全的事吗?

Dan*_*ski 10

推荐的方法是使用:

referenceToTheFrame.setVisible(false)
Run Code Online (Sandbox Code Playgroud)

hide方法已弃用,不应再使用.(虽然内部setVisible会打电话hideshow)

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

有关详细信息,请参阅Swing文档.