2011-10-09 4 views
2

샘플 코드 또는 어떻게 스윙 응용 프로그램에서 콩 class'property에 JProgressBar가 바인딩에 대한 링크를 제공 할 수있는 모든 일에 JProgressBar가 결합 하는가?어떻게 Bean 클래스의 특성

+0

는 "클래스 속성"에 의해 무엇을 의미합니까? 어쨌든 JProgressBar가 특별한 아무것도 - – kleopatra

답변

2

당신은 당신의 모델에 진행 표시 줄을 바인딩 바인딩 JGoodies를 사용할 수 있습니다. 그러나 당신의 (view-) 모델은 이것이 작동하기 위해서는 속성 변경 이벤트를 발생시켜야합니다. http://www.jgoodies.com/downloads/libraries.html 나는 월요일에 예제 코드를 게시 할 수 있습니다.

예 : 당신의 ViewModel에서

:

private final PropertyChangeSupport changeSupport = new PropertyChangeSupport(this); 

private int progress; 

public void addPropertyChangeListener(PropertyChangeListener listener) 
{ 
    changeSupport.addPropertyChangeListener(listener); 
} 

public void removePropertyChangeListener(PropertyChangeListener listener) 
{ 
    changeSupport.removePropertyChangeListener(listener); 
} 

public int getProgress() 
{ 
    return progress; 
} 

public static final String PROPERTY_PROGRESS = "progress"; 

public void setProgress(int progress) 
{ 
    int old = this.progress; 
    this.progress = progress; 
    changeSupport.firePropertyChange(PROPERTY_PROGRESS, old, progress); 
} 

보기에 :

BeanAdapter<ViewModel> beanAdapter = new BeanAdapter<ViewModel>(viewModel, true); 
Bindings.bind(progressBar, "value", beanAdapter.getValueModel(ViewModel.PROPERTY_PROGRESS)); 
+0

ok..Thanks Mr.Gandalf –

+0

내가 예제 코드와 답을 갱신 다른 구성 요소의 다른 속성으로 같은 방법으로하지 않는다 :) – Gandalf

관련 문제