了解Eclipse中的JFace数据绑定,第3部分: 使用高级功能 - 编程入门网
contact.setYearsMarried(null);
contact.setSpouse(null);
}
}
. . .
ContactPresentationModel presentationModel = new
ContactPresentationModel(
new WritableValue(Contact.class));
presentationModel.getContactObservable().setValue(contact);
assertFalse(presentationModel.getEnableYearsMarried());
presentationModel.setEnableYearsMarried(true);
contact.setSpouse("spouse");
contact.setYearsMarried("5");
presentationModel.setEnableYearsMarried(false);
assertNull(contact.getSpouse());
assertNull(contact.getYearsMarried());
现在需要修正 ContactForm。确保先前的 getContact() 方法已被重构为 getContactObservable()。因为现在要绑定到 IObservableValue 而不是直接绑定到 Contact 对象,因此在绑定时必须更加明确这一点。修改 name、spouse 和 yearsMarried 的 Property 对象构造函数以使第三个实参为 String.class,第四个实参为 false。这样做将指定将要绑定到的属性的类型和它不是集合的事实。最后,通过将 ContactForm 构造函数更改为从 TablePresentationModel 获取 WritableValue 实例,来修正示例运行程序中的错误。 再次运行示例。注意表的第一个值已被选中并且显示在下面的表单中。如果更改 Name 字段的值,则表中该字段的值也将更改。更改表中的选项将更改表单中显示的对象。 结束语 本教程介绍了 JFace 数据绑定 API 的高级核心功能,还展示了数据绑定可以怎样辅助您编写更加可测试的代码来实现 Presentation Model 模式。在此期间,您看到了数据绑定如何将您从痛苦中解脱出来,而不再需要编写通常在桌面应用程序中必需的乏味的样本同步代码。JFace 数据绑定 API 本身提供了一组接口和实现,可以在一般情况下引用 JavaBean 属性和 SWT/JFace 小部件的属性。JFace 数据绑定还附带了功能强大的 API 功能,用于处理转换、验证和间接绑定。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |