快速业务通道

了解Eclipse中的JFace数据绑定,第3部分: 使用高级功能 - 编程入门网

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

了解Eclipse中的JFace数据绑定,第3部分: 使用高级功能

时间:2011-02-11 IBM Scott Delap

开始之前

关于本系列

“了解 Eclipse 中的 JFace 数据绑定” 系列教程的这一部分介绍了 Eclipse V3.2 中附带的新 JFace 数据绑定应用程序编程接口 (API) 的高级功能。

使用数据绑定 API 可以将您从必须编写样本同步代码的痛苦中解脱出来。JFace 数据绑定 API 为用户界面 (UI) 提供了这种功能,该功能是用 Standard Widget Toolkit (SWT) 和 JFace 编写的。系列教程的前一部分介绍了 API 中的基本组件。本部分将介绍诸如测试、表、转换程序和和验证之类的高级主题。

关于本教程

本教程说明了如何使用 JFace 数据绑定的高级功能,例如转换程序、验证和表。还介绍了如何以更加可测试的方式构造 UI。您将了解如何利用 JFace 数据绑定 API 来编写结构良好且可测试的 Java™ UI 应用程序。

先决条件

本教程面向具有一定的 Java 编程语言和 Eclipse 使用经验的开发人员。您必须对 SWT 和 JFace 有一定的基本了解,并阅读了 第 1 部分。

系统要求

要运行本教程中的示例,则必须要有一个 Eclipse V3.2 软件开发包 (SDK) 及一台能够运行该软件开发包的计算机。本教程中的示例将使用 Java V5 自动装箱。因此,首选使用 Java V1.5 Java 运行时环境 (JRE)。

编写可测试代码

同步可以为 UI 测试做些什么?它是 Java UI 开发人员用来编写可测试 UI 的强大工具。

大多数桌面应用程序开发人员都不测试其 UI。虽然服务器端代码通常都经过严格测试,但是大部分桌面业务逻辑从未接受过 JUnit 的测试。有一些工具可用于执行测试任务,例如 Mercury Interactive Corp. 的产品 Abbot;以及 Redstone Software Inc. 的 Eggplant。但是,很多组织都不使用这些工具。

为什么不测试 UI?通常有三个原因:

代码组织混乱 —— 服务器端应用程序具有良好的分层,例如持久性和业务逻辑,但是桌面应用程序通常需要考虑各种错综复杂的因素。

UI 更改 —— UI 的功能经常因为用户需求的改变而改变其目标。即使是最优秀的 UI 测试工具要跟上这种不固定的 UI 的变化都可能有困难。

市场上常见的 UI 测试解决方案都不符合待测试 UI 逻辑的级别。

是否要在 HTTP 级别测试整个 Web 应用程序?用它作为惟一公开的访问点测试所有应用程序逻辑会有一定困难。同样地,使用 UI 来测试业务逻辑,就客户机/服务器而言也非常费劲。

受损代码是错误代码

身为一名软件开发人员,长期以来接受的教导就是利用关注点分离很有好处。紧密耦合将导致代码不可重用,难于测试,并且不易维护。有趣的是,在开发 UI 时,所有这些教训通常都被抛到九霄云外。下面的示例就是印证这句话的最好证据。

从 下载 部分中下载项目。从菜单中选择 File > Import,将其导入工作区。在对话框中,选择 Existing Projects Into Workspace。在下一个屏幕中选择归档文件选项,然后浏览以选择刚下载的压缩文件。单击 Finish 将该压缩文件导入后,工作区内现在应当有了一个 databinding-tutorial2 项目。

在 MangledConcernsExample 上单击鼠标右键,然后从弹出式菜单中选择 Run As > SWT Application。将会看到一个类似图 1 所示的窗口。它提供了一个简单的启用规则用于尝试同时启用 Name、Spouse 和 Years Married 字段。如果在 Name 字段和 Spouse 字段中填入值,则 Years Married 字段将变为启用状态。删除 Name 或 Spouse 任意一个字段中的值都会导致系统清空 Years Married 字段并将其变为禁用状态。清单 1 中显示了启用此功能的代码。

图 1. UI 示例

了解Eclipse中的JFace数据绑定,第3部分: 使用高级功能(2)

时间:2011-02-11 IBM Scott Delap

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