2011-03-27 2 views
0

나는 어떤 구성 요소가있는 JFrame이 있습니다. 예를 들어 exit button과 같은 특수 단추를 클릭하면 프레임이 사라지 길 원합니다. setVisible (boolean) 문제

나는 종료 버튼

this.setvisible(false); 

이 코드를 작성하지만 만에 구성 요소를 숨기고 프레임이 사라지지 않습니다.

exit button을 클릭하면 프레임이 사라질 수 있습니까?

+0

이 우리에게 관련 코드를 제시해주십시오. 나는'this'가 JFrame을 가리키는 것이 아니라 JButton을 가리키고 있다고 가정합니다. – Howard

+0

잘, setvisible 프로그램을 종료하지 않습니다. –

+0

@experimentX - 애플리케이션에 여러 개의 JFrame을 포함 할 수 있으며 그 중 일부는 잠시 숨길 수 있습니다. –

답변

2

, this 아마 버튼이 아닌 프레임을 의미합니다.

버튼이 아닌 프레임에서 setVisible()을 호출해야합니다.

또한 프레임에서 dispose()를 호출하여 모든 리소스를 정리해야합니다. 사용자가 Windows에서 (오른쪽 위 모서리에있는 "표준"닫기 버튼을 클릭 할 때

또한 당신은 또한 창문이 제대로 닫혀 있는지 확인, 프레임 작성 중에

setDefaultCloseOperation(DISPOSE_ON_CLOSE); 

을 사용하여 배치한다).

이 튜토리얼은 당신이 더 나은 무슨 일이 일어나고 있는지 이해하는 데 도움이 될 수 있습니다 JFrame의 객체에

http://download.oracle.com/javase/tutorial/uiswing/components/frame.html

3

여기에 프레임을 숨기는 버튼의 예 : 전화 this.setVisible(false)에서

final JFrame frame = new JFrame(); 
frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE); 
final JButton hideButton = new JButton("hide frame"); 
frame.add(hideButton); 
hideButton.addActionListener(new ActionListener() { 

    public void actionPerformed(ActionEvent e) { 
     frame.setVisible(false); 
    } 

}); 

frame.setVisible(true); 
frame.pack(); 
+0

나는 그렇게 생각한다 .... –

0

전화를. 예 : // when exit is pressed

fr.setVisible(false); // fr is a reference to object of type JFrame`

관련 문제