快速业务通道

了解Eclipse中的JFace数据绑定,第2部分: 绑定的基础知识 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
Projects with Source Folders

从列表中选择 org.eclipse.jface.databinding 项目并将其移至右侧,如图 7 所示。单击 Finish 以导入此项目。

图 7. 选择数据绑定插件

了解Eclipse中的JFace数据绑定,第2部分: 绑定的基础知识(6)

时间:2011-02-11 IBM Scott Delap

展开新导入的项目。图 8 显示了得到的软件包列表。

图 8. 导入后的工作区

使用数据绑定

我们先不详细介绍 JFace 数据绑定,而是先来使用一下,然后再了解数据绑定是怎样在底层工作的。请按照以下步骤执行操作:

在数据绑定教程项目中任意创建一个新软件包,方法为在 src 文件夹上单击鼠标右键,然后从弹出式菜单中选择 New > Package。

将 NoBindingExample 类从 com.developerworks.nobinding 软件包复制到新创建的软件包中。

在该类上单击鼠标右键,然后选择 Refactor > Rename,将类重命名为 BindingExample。

将清单 2 中的代码粘贴到该类中的 main() 方法定义前。

清单 2. createContext() 方法

public static DataBindingContext createContext() {   DataBindingContext context =   new DataBindingContext();   context.addObservableFactory(   new NestedObservableFactory(context));   context.addObservableFactory(   new BeanObservableFactory(    context,    null,    new Class[] { Widget.class }));   context.addObservableFactory(   new SWTObservableFactory());   context.addObservableFactory(   new ViewersObservableFactory());   context.addBindSupportFactory(   new DefaultBindSupportFactory());   context.addBindingFactory(   new DefaultBindingFactory());   context.addBindingFactory(   new ViewersBindingFactory());   return context; }

了解Eclipse中的JFace数据绑定,第2部分: 绑定的基础知识(7)

时间:2011-02-11 IBM Scott Delap

根据需要修改已导入的任何内容,然后删除 synchronizeUIToPerson() 方法。

从 createButtons() 方法中删除用于创建 Update Person Bean From Text 按钮的那段代码。

将清单 3 中的代码粘贴到 createControls() 方法的末尾。

清单 3. 将文本小部件绑定到 Person Bean

 DataBindingContext ctx = createContext();   ctx.bind(firstText,   new Property(this.person, "first"),   null);   ctx.bind(lastText,   new Property(this.person, "last"),   null);

在新修改的类上单击鼠标右键,然后从弹出式菜单中选择 Run As > SWT Application。应当会看到一个类似图 9 的窗口。

图 9. 修改后的示例

请注意,文本小部件中包含初始值 Larry 和 Wall。这一点不同于先前的示例,因为先前的示例不会同步初始 Bean 值,而这里的数据绑定已经自动处理了这个问题。在 First 字段中键入一些字符,然后单击 Update Text From Person Bean。文本将恢复为其初始值。

在 First 字段中再次键入一些字符,而且切换到 Last 字段。再次单击 Update Text From Person Bean。更改的文本这一次不会恢复为初始值。数据绑定在焦点消失后将文本小部件中的值自动同步到了 Person Bean 的第一个 String 变量中。

如何变魔术:Observable

现在您已经看到了 JFace 数据绑定如何在实际的应用程序中同步数据。您可能还有一个疑问:“这是如何做到的?”

任何数据绑定框架要执行的第一步操作都是提取出获取值、设定值及侦听更改的概念到通用的实现内。当引用在大部分框架的代码中的概念时,可以使用此通用实现。然后可以针对各种情况编写实现来处理特定细节。

JFace 数据绑定将

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号