了解Eclipse中的JFace数据绑定,第2部分: 绑定的基础知识 - 编程入门网
ervable。在本例中,这项适配工作是由 IObservableFactory 来完成的。在使用 firstText 文本小部件的情况下,则不需要任何其他信息。当指定给 bind() 方法的目标/模型对象是文本小部件时,则认定与其文本属性的默认绑定应当已完成。
在使用 Person bean 的情况下,没有可绑定到的明显的默认属性。因此,Person bean 实例必须包装在一个 Property 对象中。此对象将用自己的 first 字符串添加足够的信息以使 BeanObservableFactory 可以确定要为 Person bean 中的哪一个属性创建 observable。 符合了所有这些规范后,bind() 方法最终将为指定的目标和模型创建 IObservable 适配器。然后该适配器将创建一个 ValueBinding 的实例,该实例使得在关系的一端发生更改时能够保持值的同步。 现在整个过程已经介绍完了,接下来看一看引入这些调用方法的顺序会很有帮助。清单 8 显示了一段堆栈跟踪,从焦点在文本小部件中消失时起,到由于 JFace 数据绑定从小部件中同步值而在 Person bean 中击中断点为止。请注意各种数据绑定和各种 JavaBeans 类 —— 您不必编写这些代码。 清单 8. 数据绑定同步的堆栈跟踪
了解Eclipse中的JFace数据绑定,第2部分: 绑定的基础知识(10)时间:2011-02-11 IBM Scott Delap图 10 是显示同步进程中各个角****间如何关联的示意图。文本小部件和 Person bean 都被适配到 IObservableValue 接口。ValueBinding 类将侦听两端的适配器并使用这些适配器同步关系两端的更改。 图 10. observable 关系的示意图 从域对象启用更改 如果返回到 BindingExample,并查看清单 9 中的代码,将会注意到这段代码中仍有一个同步方法可以在 Person bean 中的值发生更改时更新 UI 控件。这是因为 Person Bean 在其值发生更改时不提供任何通知。通过允许 JFace 数据绑定来提供同步功能可以轻松地解决这个问题。 清单 9. 调用从 Person bean 到 UI 的同步的侦听程序
修改 com.developerworks.basic.Person 类以扩展附带的 PropertyChangeAware 类。然后修改两个 setter 方法,如下所示。 清单 10. 将 PropertyChange 支持添加到 setter 中
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |