2012-12-10 7 views
2

예를 들어 구성 요소가 확인란이면 false로 설정해야하거나 텍스트 필드이면 텍스트를 지워야합니다. JPanel에 모든 구성 요소를 다시 설정하는 방법을 작성하려고합니다. HTML 폼에서 리셋 기능처럼 작동해야합니다.JComponent를 기본값으로 재설정

JComponent을 기본값으로 재설정하는 방법은 무엇입니까?

답변

2

한 가지 가능한 해결 방법은 사용자 지정 재설정 기능을 만드는 것입니다. 패널 (양식)을 다시 초기화하십시오.

예 :

void reset(){ 
    //recreate the form panel. 
    formPanel = new FormPanel(); 
} 

양식 필드와 해당 수신기를 저장하는 사용자 지정 클래스 FormPanel을 만듭니다.

패널 구성 요소를 초기화하면 @Robin이 제안한대로 청취자를 재 할당하는 오버 헤드가 발생합니다.

+0

그리고 잃어버린 (UI를 의미 기본 상태로 재설정됩니다) 모든 동작, 청취자, ... 당신은 구성 요소를 설정했습니다. 이 접근법은 결국 당신에게 두통을 줄 것입니다. – Robin

+0

나는 필요한 편집을했습니다. 고마워요. – Sorter

1

시작시 모든 요소의 초기 값을 설정하는 방법을 작성하십시오. 그런 다음이 초기화 메소드를 재사용하여 값을 "재설정"할 수 있습니다.

2

스윙에서 재설정 기능이 없습니다. 이 작업을 수행하는 가장 좋은 방법은 재설정하려는 값으로 메소드를 생성하고 여기에 모든 값을 설정하는 것입니다. :

public void resetWindow(){ 
    checkBox.setSelected(false); 
    textField.setText(""); 
} 

이 방법을 사용하는 이점은 당신이 때 클래스로드도 재설정 할 때마다 그냥이 방법을 다시 사용할 수 있다는 것입니다.

다른 방법으로는 패널의 다른 인스턴스를 만들고 원본을 버리는 것입니다. 그렇게하면 모든 것이 시작 상태가됩니다.

0

스윙 구성 요소에 대한 재설정 방법이 없으므로 코드에서 처리해야합니다.

4

좋은 개발자로서보기와 모델을 잘 구분할 수 있습니다. 모델이 업데이트되면 해당 변경 사항이 뷰에 반영됩니다.

당신은 그런 구조를 가지고 있다면, 당신은 단순히 기본 상태로 모델을 재설정 할 수있는, 그리고 다시 에드 상태가 다음 UI에 표시 될

관련 문제