要安装和构建地址簿应用程序,请完成下列步骤:
下载源代码软件包。
将 addressbook.zip 文件解压缩到临时目录中。
在新创建的目录中运行下面这个命令: ant clean
在新创建的目录中运行下面这个命令: ant
如果您的环境满足需求并且配置正确,那么您应当会看到类似于下面这样的内容:
清单 1. 构建地址簿应用程序
2 init:
3 [mkdir] Created dir: D:\Address Book\dist
4 compile-common:
5 compile-module:
6 [echo] Compiling ...
7 [mkdir] Created dir: D:\Address Book\build
8 [mkdir] Created dir: D:\Address Book\build\classes
9 [javac] Compiling 8 source files to D:\Address Book\build\classes
10 package-common:
11 [jar] Building jar: D:\Address Book\dist\addressbook.jar
12 default:
13 BUILD SUCCESSFUL
14
使用 JFace 向导
既然我们已经介绍了 SWT 和 JFace 的基础知识以及地址簿应用程序的行为,让我们研究一下如何使用 JFace 向导。由于本文的目的在于介绍 JFace 向导,因此并没有提供有关如何创建独立应用程序的更多背景信息。
在地址簿应用程序中, NewContactAction 类处理用户从 File 菜单选择 New Contact这一操作(请参阅 图 3)。
图 3. New Contact 菜单项

清单 2中的代码说明了为用户打开一个向导所需的对象和方法。
清单 2. NewContactAction 类
2 2 {
3 3 ApplicationWindow window;
4 4
5 5 publicNewContactAction(ApplicationWindow w)
6 6 {
7 7 window = w;
8 8 this.setText("New Contact");
9 9 this.setToolTipText("Create new contact");
10 10 }
11 11
12 12 public void run()
13 13 {
14 14 ContactWizard wizard = new ContactWizard();
15 15
16 16 WizardDialog dialog = new WizardDialog(window.getShell(), wizard);
17 17 dialog.open();
18 18 }
19 19 }
20
让我们逐步研究这段代码:
无论用户何时从菜单栏选择 New Contact,都要执行第 12 行中的 run 方法。
如第 14 行所示,在向用户显示 GUI 向导之前需要创建 ContactWizard 类的新实例。该类设置向导的各个页面,允许用户向各个域提供输入。我们稍后将更加详细地介绍 ContactWizard 类。
第 16 行用两个变量对 WizardDialog 类进行实例化:第一个变量包含了对 shell 的引用,第二个变量包含了对第 14 行中所创建的 ContactWizard 的引用。 WizardDialog 类负责为用户显示实际向导以及组织每个页面的表现形式。
如 图 4所示,第 17 行打开了向导对话框。
图 4. 在 Microsoft Windows XP 上运行的 Contact 向导