Eclipse Rich Client Platform
优点:
本地的用户体验:和瘦客户端提供的相比较起来,大部分用户希望更加丰富的用户体验。它们包括了平滑的,快速的响应UI。Eclipse Standard Widget Toolkit (SWT )提供了一套JAVA的图形库。
集成了安装和更新:节省了安装和更新的成本,Eclipse插件可以通过各种方法进行升级。
启动顺序:
Activator
Application
ApplicationWorkbenchAdvisor
ApplicationWorkbenchWindowAdvisor
ApplicationActionBarAdvisor
1.Activator
用来控制整个项目plug in的生命周期。
按照我个人的理解,通常整个Activator类中有两个比较重要的变量:
public static final String PLUGIN_ID = "XXXX";
private static Activator plugin;
如上显示,PLUGIN_ID表示当前RCP程序的PLUGIN_ID号。
而plugin代表着plugin本身的引用。
注意:在整个程序中Activator是最先启动的。
2.Application
注意:在整个程序中Application第二顺序启动。
3.ApplicationActionBarAdvisor
这个类主要负责为Workbench Window的ActionBar(菜单、工具条和状态栏等)创建Action.也可以通过插件清单plugin.xml动态地提供action。
该类的主要方法:
makeActions 创建在FillXXX方法中使用的Action,这个房用来通过key binding服务注册action并且添加到关闭窗口时要清除的Action列表中。
fillMenuBar 填充窗口的主菜单。
fillCoolBar 填充窗口的主工具栏。
fillStatusLine 填充窗口的主状态栏。
注意:在整个程序中Application最后启动。
4.ApplicationWorkbenchAdvisor
在主程序Application类的run()方法中引用了ApplicationWorkbenchAdvisor类,这个Workbench Advisor类对Workbench的外观进行了配置。
这个类的方法会在工作台的生命周期的各个关键时刻由RCP平台调用,是最重要的一个Advisor类。
几个重要方法:
initialize 在启动工作台前进行初始化.
preStartup 在初始化完成之后,打开第一个窗口之前调用,在这里可以对打开编辑器和试图的初始化参数进行设置。
postStartup在所有窗口打开或恢复以后开始事件循环之前调用。在这里可以进行一些类似批处理的工作。
preShutdown 在事件循环结束以后,关闭任何一个窗口之前调用。
postShutdown 在所有窗口关闭之后,关闭工作台之前调用,可以用来保存当前的应用的状态,清理initialize方法创建的内容。
注意:在整个程序中Application第三启动。
5.ApplicationWorkbenchWindowAdvisor
这个类主要负责对Workbench Window进行控制,例如状态栏,工具条,标题,窗口,尺寸等。
常见方法
preWindowOpen在WorkBench Window的构造函数中调用,用于设置窗口的一些特征,如是否显示状态栏。但是这个时候还没有创建任何窗体控件,所以在这里还不能引用它们。
注意:在整个程序中Application第四顺位启动。