开发者

How can I close a JFrame by click on a button?

I would like to have a button in my window such that if I click 开发者_JAVA百科it (button) the window is closed.

I found out that I can close a window in the following way:

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

But if I do this way, compiler complains:

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

Do I do something unsafe?


The recommended way is to use:

referenceToTheFrame.setVisible(false)

The hide method is deprecated and should not longer be used. (Although internally setVisible will call hide or show)

Additionally if you want to dispose the frame, you have to call dispose manually. (In case you need the window-closed event for example) A call to setDefaultCloseOperation doesn't help you here, because it only affects the behavior after a click on the close button from the system menu.

See the Swing documentation for further information.


DR has the correct answer. Regarding the compiler warnings: hide() is a deprecated call belonging to Window. Don't ever use it, stick with setVisible().


Use dispose() on the frame object.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜