了解 Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能
2009-12-14 00:00:00 来源:WEB开发网要使测试能够通过,则需重构 ContactPresentationModel 构造函数和 EnablementPropertyChangeListener,如清单 10 所示。
清单 10. 修改 Presentation Model 使其能够显式启用public ContactPresentationModel(Contact contact) {
this.contact = contact;
EnablementPropertyChangeListener enablementPropertyChangeListener =
new EnablementPropertyChangeListener();
addPropertyChangeListener("enableYearsMarried",
enablementPropertyChangeListener);
}
private class EnablementPropertyChangeListener implements
PropertyChangeListener {
public void propertyChange(PropertyChangeEvent evt) {
if (!getEnableYearsMarried()) {
getContact().setYearsMarried(null);
getContact().setSpouse(null);
}
}
}
最后还需要做的是修改 UI。需要将标签和复选框添加到 createControls() 方法中。然后必须将这个新复选框绑定到 Presentation Model。最后,为了像 Years Married 字段一样可以启用/禁用 Spouse 字段,请将 Spouse 字段的已启用属性绑定到 Presentation Model 中的同一位置。这些更改如清单 11 所示。
清单 11. 将复选框添加到 UI 中private void bindGUI(ContactPresentationModel
presentationModel) {
. . .
ctx.bind(chkIsMarried,
new Property(presentationModel, "enableYearsMarried"), new BindSpec());
ctx.bind(new Property(spouseTxt, "enabled"),
new Property(presentationModel, "enableYearsMarried"),
new BindSpec());
}
private void createControls(Composite c) {
. . .
Label labelMarried = new Label(c, SWT.SHELL_TRIM);
labelMarried.setText("Married");
gridData = new GridData(GridData.FILL_HORIZONTAL);
this.chkIsMarried = new Button(c, SWT.CHECK);
this.chkIsMarried.setLayoutData(gridData);
. . .
}
- ››Eclipse 3.7反编译插件的安装
- ››eclipse CDT NDK环境搭建步骤
- ››Eclipse 如何自定义java class注释
- ››eclipse.ini内存设置
- ››Eclipse+PyDev离线配置Python开发环境
- ››Eclipse下jQuery文件报错解决方案
- ››Eclipse快捷键与使用技巧
- ››Eclipse 常用快捷键 常用技巧My Eclipse常用快捷键...
- ››Eclipse快捷键二
- ››Eclipse快捷键一
- ››Eclipse+SVN+Google Code配置过程
- ››eclipse中开发android程序时,打开layout配置文件自...
更多精彩
赞助商链接