快速业务通道

Eclipse向导机制扩展 - 实现可定制的向导 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
页数的 Eclipse 向导

实际中,我们经常遇到的一类问题是:某个向导页的存在与否依赖于用户在前面向导页中所做的选择 。

举个例子:我们需要给某电影院实现一个电影票购票系统,观众能够通过该系统远程连接到电影院的 服务器进行订票,订购电影票的用户有三种类型:普通用户,会员用户,以及 VIP 会员,不同的用户其 订票流程是不同的。根据需求,我们使用 Eclipse 的 RCP 来实现该电影票购票系统,观众订票操作将通 过 Eclipse 向导辅助完成,我们设计了四个向导页:A、B、C、D。向导页 A 供用户选择其用户类型:普 通用户,普通会员或者 VIP 会员。假如观众是普通用户则直接进入向导页 B 填写其基本信息,包括姓名 ,电话号码等等,之后进入向导页 C 选择电影票,包括电影名字,时间,座位号等,然后选择确定,操 作结束。假如观众是会员或者 VIP 会员时,观众在向导页 A 输入自己的会员 ID 和密码登录到系统,登 录成功之后,直接进入向导页 C 选择电影票,操作和普通用户一样,当电影票选票结束之后,会员还将 进入向导页 D,查看其历史记录,剩余余额等信息。四个向导页的具体描述如下:

表 1. 电影订票向导设计

向导页编号 标题 内容
A 用户类型选择 选择用户类型:普通用户,普通会员,VIP 会员。如果是会员用户,需要输入自己的会员 ID 和密码进行登录
B 普通用户基本信息 对于普通用户,填写其基本信息,包括用户名,电话号码
C 电影票信息 用户选择其想看的电影,选择电影名字,放映时间,以及选择座位号
D 历史记录 对于会员用户,操作结束之后,将显示其历史纪录

向导页顺序图如下,向导页是动态变化的。当用户为普通用户与,向导页 B 出现,D 不出现,当用户 为会员用户,向导页 B 不出现,D 出现。

图 2. 电影订票动态向导顺序图

Eclipse向导机制扩展 - 实现可定制的向导(4)

时间:2011-10-22 IBM 刘力 杜冰冰

对于普通用户:在向导页 A 中选择普通用户类型,然后进入向导页 B,填写其基本信息,然后进入向 导页 C 进行选票并结束。 见下图。

图 3. 普通用户电影订票流程

对于会员或者 VIP 会员用户:在向导页 A 中选择会员用户或者 VIP 会员,跳过向导页 B,直接进入 向导页 C,选票结束之后,进入向导页 D,查看其历史纪录。见下图。

图 4. 会员用户以及 VIP 会员 用户电影订票流程

Eclipse向导机制扩展 - 实现可定制的向导(5)

时间:2011-10-22 IBM 刘力 杜冰冰

为了实现向导页的动态增加或者减少功能,本文提供了一个动态向导的抽象类 DynamicPageWizard, 供广大开发人员使用。用户使用时,只需要继承该抽象类,并重写向导页初始化,增加,修改,以及删除 等方法,便可以方便地实现动态向导。该向导类继承了类 org.eclipse.jface.wizard.Wizard,在原 Wizard 的基础上进行扩展,使用变量 List<IWizardPage> pages 来存储向导中的所有向导页,类 中所有对向导页的操作都是基于该变量进行,包括向导页的创建、注销、动态增加以及删除。详细的内容 见下面清单。由于使用 pages 变量覆盖了原 org.eclipse.jface.wizard.Wizard 中的 pages 变量,因 而父类方法中基于该变量的所有方法都需要重写,在下表中省略号部分是重写的代码,读者可以根据自己 的 JDK 版本以及扩展需要,将内容补上。 清单 1. 动态页数向导父类 DynamicPageWizard

public abstract class Dynamic

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