开始之前
关于本系列
使用数据绑定 API 可以将您从必须编写样本同步代码的痛苦中解脱出来。JFace 数据绑定 API 为用户界面 (UI) 提供了这种功能,该功能是用 Standard Widget Toolkit (SWT) 和 JFace 编写的。
“了解 Eclipse 中的 JFace 数据绑定” 系列教程的 第 1 部分 说明了数据绑定框架的用途,介绍了几个流行的 Java GUI 数据绑定框架,并给出了使用数据绑定的优点和缺点。作为该系列的第 2 部分,本教程将介绍基本的 API 组件。第 3 部分将转向介绍高级主题,例如表、转换程序及验证。
关于本教程
本教程说明了使用数据绑定 API 的原因,然后将向您介绍如何使用 JFace 数据绑定 API 的核心组件,而把说明底层如何工作的内容放到了第 3 部分进行介绍。
先决条件
本教程面向拥有一定 Java 编程语言和 Eclipse 使用经验的开发人员,而且必须对 SWT 和 JFace 有一定的基本了解。
系统要求
要运行示例,则必须要有一个 Eclipse 软件开发包 (SDK) 及一台能够运行该软件开发包的计算机。
在域对象和控件之间同步数据
同步需求
桌面应用程序往往都有长期使用的对象,这些对象大都包含用户可视的数据。例如,在人员对象的名字字段中所做的更改通常需要被反映到用户编辑该对象时所在的表单中。这意味着要更新用于显示数据的文本字段小部件。如果更改是在文本字段小部件中发起的,则需要更新人员对象。如果人员对象由于业务原因而发生了更改,则显示更改的小部件也需要改变。
很多小部件,例如表和列表,都有可以简化此过程的模型。更改此模型将自动通知小部件。大多数应用程序数据并不以特定于 SWT 的模型为其形式。例如在使用表的情况下,用于填充表的数据经常是从服务器或数据库中查询到的值的 java.util.List 形式。进一步来考虑更复杂的情况,事实上一些小部件(如文本字段)根本就没有模型;它们只有包含显示数据的小部件所固有的简单属性。
样本同步
两个主要的 Java 小部件工具包 Swing 和 SWT 的小部件都不识别数据。这意味着将由您来决定如何管理同步进程。我们来看下面的示例以帮助您理解其含义。请按照以下步骤执行操作:
打开 Eclipse V3.2 并创建一个新的工作区。
在菜单中选择 File > Import。系统将打开 Eclipse 项目导入向导(参见图 1)。
图 1. Eclipse 项目导入向导