2010-04-08 81 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()