データバインディングを使用して 2 つの Eclipse パーツを同期する際に問題が見つかりました。テキスト ボックスを含む 2 つのパーツ クラス間で 1 つのモデルを使用し、両方のクラスがそのモデルにバインドします。
パート 1 の場合:
DataBindingContext databindingcontext = new DataBindingContext();
textLeft = new Text(parent, SWT.BORDER);
textLeft.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
IObservableValue iobservableModel = PojoProperties.value("name").observe(new Name());
IObservableValue observablevalueLeft = WidgetProperties.text (SWT.Modify).observe(textLeft);
databindingcontext.bindValue (observablevalueLeft,iobservableModel);
モデル:
public class Name {
public static String static_strName;
public String getName() {
return static_strName;
}
public void setName(String name) {
static_strName = name;
}
}
パート 2:
DataBindingContext m_databindingcontext = new DataBindingContext();
textPart2 = new Text(parent, SWT.BORDER);
textPart2.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
IObservableValue iobservableModel = PojoProperties.value("name").observe(new Name());
IObservableValue observablevaluePart2 = WidgetProperties.text (SWT.Modify).observe(textPart2);
m_databindingcontext.bindValue (observablevaluePart2,iobservableModel);