2012-12-12 3 views
0

나는 org.eclipse.swt.widgets.Composite을 만들었습니다. 이 합성물을 org.eclipse.jface.wizard.WizardPage 안에 사용하고 있습니다.합성물에 대한 작용을 만드는 방법

org.eclipse.swt.widgets.Composite은 변수가 pageComplete입니다. Composite에서 변경이 있거나이 변수가 변경 될 때마다이 변수의 값을 확인해야합니다. 어떻게 그럴 수 있죠?

내 첫 번째 아이디어는 복합 소재에 대한 내 자신의 동작을 만드는 것이지만 어떻게해야할지 모르겠다.

어쩌면 누군가가 더 좋은 방법을 생각할 수 있습니까?

+0

org.eclipse.swt.widgets.Composite는 변수가 포함되어 있지 않습니다. 당신은 자신의 복합 수업을 의미합니까? 속성 변경을 청취하려면 [바운드 속성] (http://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html#bound) – Behnil

+0

을 사용할 수 있습니다. JFace 데이터 바인딩을 시도 했습니까? 아직하지 않았다면 [this] (http://www.vogella.com/articles/EclipseDataBinding/article.html)을 봐야합니다. – mmoulis

+0

@ mmoulis에 감사드립니다, 저를 도왔습니다. doc에 감사드립니다. 여기에 대답을 설립했습니다. [링크] (http://www.vogella.com/articles/EclipseDataBinding/article.html#swtdatabinding) – qizer

답변

1

이 질문이있는 경우 - this 기사

감사 PS

@mmoulis에 읽으십시오 : 내가

org.eclipse.swt.widgets.Composite 클래스 값을 추가 한 방법 :

private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this); 

을 그리고 두 가지 방법을 추가했습니다.

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

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

그리고 페이지 클래스의는 org.eclipse.swt.widgets.Composite

composite.addPropertyChangeListener(new PropertyChangeListener() { 
    @Override 
    public void propertyChange(PropertyChangeEvent evt) { 
    } 
}); 

에 리스너를 추가이 (모든 :

+1

외부 페이지. 해당 페이지의 내용을 항상 요약하십시오. 이렇게하면 외부 링크를 더 이상 사용할 수없는 경우에도 게시물이 유용하게 유지됩니다. – Baz

+1

죄송합니다. [@Baz] (http://stackoverflow.com/users/1449199/baz), 수정 됨 (: – qizer