2010-04-08 3 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"를 클릭하면 프레임이 닫히지 않습니까? –

답변

10

권장되는 방법은 사용하는 것입니다

referenceToTheFrame.setVisible(false) 

hide 방법은 사용되지 않으며 더 이상 사용할 수 없습니다.

을 (내부적으로 setVisiblehide 또는 show를 호출하지만) 당신이 프레임을 폐기하려는 경우 또한, 당신은 수동으로 dispose를 호출해야합니다. (예를 들어 window-closed 이벤트가 필요한 경우) setDefaultCloseOperation에 대한 호출은 시스템 메뉴에서 닫기 버튼을 클릭 한 후에 만 ​​동작에 영향을주기 때문에 여기서는 도움이되지 않습니다.

자세한 내용은 Swing documentation을 참조하십시오.

2

DR에 올바른 답변이 있습니다. 컴파일러 경고 : hide()Window에 속하는 더 이상 사용되지 않는 호출입니다. 절대 사용하지 말고 setVisible()을 사용하십시오.

2

프레임 개체에 dispose()을 사용하십시오.

관련 문제