RCP 中文入门教程 Page 5 of 21
b) Advisor 类
ApplicationActionBarAdvisor, ApplicationWorkbenchAdvisor 和 ApplicationWorkbenchWindowAdvisor
这三个类是 RCP 应用的三个核心 Advisor 类. 它们都继承于相应的抽象 Advisor 父
类. 是 RCP 应用生命周期中非常重要的三个类.
ApplicationWorkbenchAdvisor
在主程序 Application 类的 run() 方法中引用了 ApplicationWorkbenchAdvisor 类.
这个 Workbench Advisor 类对 Workbench 的外观进行了配置.
ApplicationWorkbenchAdvisor 继承了 WorkbenchWindowAdvisor 抽象类, 插件工程
向导自动填充了 createWorkbenchWindowAdvisor 和 getInitialWindowPerspectiveId
方法体, 我们同样可以覆写( override )父类的其他方法. 这个类的方法会在工作台
( Workbench )的生命周期的各个关键时刻由 RCP 平台调用. 是最重要的一个
Advisor 类.
下面是对 Workbench Advisor 类中几个重要的方法的简要说明:
方法 说明
initialize
在启动工作台 ( Workbench ) 前进行初始化.
这个方法有只有一个参数: IWorkbenchConfigurer
preStartup
在初始化完成之后, 打开第一个窗口之前调用, 在这里可以对打开编辑器
和视图的初始化参数进行设置.
postStartup
在所有窗口打开或恢复以后开始事件循环之前调用. 在这里可以进行一些
类似自动批处理的工作.
preShutdown
在事件循环结束以后, 关闭任何一个窗口之前调用
postShutdown
在所有窗口关闭之后, 关闭工作台 ( Workbench ) 之前调用, 可以用来保存
当前应用的状态, 清理 initialize 方法创建的内容
现在我们不需要对这个类进行任何修改.
ApplicationWorkbenchWindowAdvisor
ApplicationWorkbenchWindowAdvisor 继承了 WorkbenchWindowAdvisor 类, 这个
类主要负责对 Worbench Window 进行控制, 例如状态栏, 工具条, 标题, 窗口尺寸等.
这个类中的方法在 Workbench Window 的生命周期中起着重要作用.
方法 说明
preWindowOpen
在 WorkBench Window 的构造函数中调用, 用于设置窗口
的一些特征, 如 是否显示状态栏. 但是这个时候还没有创建
任何窗体控件, 所以在这里还不能引用它们.
postWindowRestore
在窗口恢复到以前保存的状态之后, 打开窗口之前调用..这
个方法在新建窗口, Workbench 第一次运行, 以及没有保存
窗口状态的情况下都不会调用. 在这里可以调用
IWorkbench.close() 方法关闭 Workbench 和所有打开的
Workbench Window.
PDF 文件使用 "pdfFactory" 试用版本创建 www.fineprint.com.cn