2010-04-08 62 views
3

我想在我的窗口中有一个按钮,这样如果我点击它(按钮),窗口就会关闭。如何通过单击按钮来关闭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. 

难道我做了什么不安全的?

+0

你不想让框架在你点击“x”时简单关闭? – 2010-04-08 13:08:55

回答

10

推荐的方法是使用:

referenceToTheFrame.setVisible(false) 

hide方法已经过时,不应再使用。 (虽然内部setVisible会打电话hideshow

此外,如果你想处置框架,你必须手动调用dispose。 (例如,如果您需要窗口关闭的事件)例如,拨打setDefaultCloseOperation不会对您有所帮助,因为它只影响系统菜单中关闭按钮后的行为。

查看Swing documentation了解更多信息。

2

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

2

在框架对象上使用dispose()