快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
is.person.setFirst(this.firstText.getText());   this.person.setLast(this.lastText.getText());   }   public static void main(String[] args) {   NoBindingExample example = new NoBindingExample();   example.run();   }   public void run() {   this.person = new Person("Larry", "Wall");   Display display = new Display();   Shell shell = new Shell(display);   createControls(shell);   createButtons(shell);   shell.pack();   shell.open();   while (!shell.isDisposed()) {    if (!display.readAndDispatch())    display.sleep();   }   display.dispose();   } }

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

时间:2011-02-11 IBM Scott Delap

查看代码

清单 1 的开头定义了一个遵循 JavaBean 规范的简单的 Person 类。特别地,它为每个属性配备了 getter 和 setter 方法。清单接下来定义了 NoBindingExample 类。主要方法实例化了一个类的实例,并立即委托给 run() 方法。run() 方法负责创建 UI 并将启动显示示例所需的相应的 SWT 结构。

run() 方法首先将创建一个 Shell,然后将调用构建 UI 部件的 createControls() 方法。接下来,它将调用 createButtons() 方法,该方法用于创建三个按钮。每个按钮都配有鼠标侦听程序,该侦听程序将调用针对示例实例的特定方法。

这种设计会带来的问题

数以千计的应用程序都是用类似上述设计的代码编写的。但是,这样做会带来很多问题:

Person Bean 最初包含值 Larry Wall。应用程序一开始不会显示该值,因为 Person Bean 在启动时并未与文本字段同步。

必须保持对两个文本字段的引用可以为两个同步方法所用。

必须编写样本同步代码。

确定何时在 Person bean 和文本字段之间同步值是一个人工过程。

即使本例的应用程序不需要配有在 Person bean 和文本字段之间来回同步值的按钮,我们仍然必须分析、编码和维护何时调用同步方法的进程。如果文本字段可以反映 Person bean,并且用 API 来保证数据同步(让您可以更轻松地将精力集中在更紧迫的要求上),情况可能会较为简单些。

数据绑定的奥秘

幸运的是,上一部分中所需的 API 并不是一个梦想。有很多框架可用于与 Java 语言结合使用来解决这个问题。它们通常都被归类到术语 数据绑定 下。数据绑定框架的用途就如其名称隐含的内容一样:它们在两个点之间绑定数据;当一端的数据发生更改时,绑定关系的另一端的数据也会被更新。这就是前面的示例所需要的那类功能。

Eclipse V3.2 将一个临时版本的数据绑定 API 附在了 org.eclipse.jface.databinding 插件中,可以使用该插件开发 SWT 和 JFace 应用程序。未来版本的 Eclipse 可能由于功能增强和重新设计而包含不同版本的 API。这并不会限制当前 API 的有效性,当前 API 稳定而且包括很多功能。本教程的其余部分将使用该 API 来重新设计先前的示例。

导入数据绑定

虽然可以使用二进制版本的 JFace 数据绑定(项目归档文件中的示例现已在 IDE 中运行),但是,在开发过程中将源数据绑定作为一个引用来导入十分有用。可以使用 Eclipse 导入向导来执行此操作,如下所示:

从菜单中选择 File > Import。

选择 Plug-ins and Fragments,如图 5 所示,然后单击 Next。

图 5. 导入已有插件

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

时间:2011-02-11 IBM Scott Delap

在下一个屏幕中,将底部的 Import As 选项更改为 Projects with Source Folders,然后再次单击 Next,如图 6 所示。

Figure 6. 将 Import As 选项更改为

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号