1 创建RCP程序
2 RCP应用程序类图
--------------------------------------------------------
1 创建RCP程序
首先,按以下步骤,生成一个插件项目:
1、启动 Eclipse,通过选择 Window > Open Perspective > Other... > Plug-in Development 切换到插件开发透视图;
2、从 Eclipse 菜单中,选择 File > New > Project... > Plug-in Development > Plug-in Project 并单击 Next。
3、在 Plug-in Project 向导页面,输入 XXX.YYY.Name
作为项目名称并单击 Next;
4、在 Plug-in Content 向导页面,接受所有默认设置并为 "Would you like to create a rich client application?" 选项单击 Yes,然后单击 Next。
5、在 Templates 向导页面,选择 某个模板并单击 Finish。然后,将会看到一个名为 XXX.YYY.Name
的项目出现在工作区中。
2 RCP应用程序类图
其中,Application.java
必须实现IPlatformRunnable 接口,因为该plugin.xml 文件已经扩展了
org.eclipse.core.runtime.applications
的扩展点。这意味着您应该实现IPlatformRunnable 的 run()
方法,负责创建SWT显示和启动工作台。
2.1 Application类
在普通的Java程序中,总有一个main()方法作为应用程序的入口点。而RCP程序的入口点则是Application类。打开Application.java文件,可以看到该类实现了IPlatformRunnable接口,入口方法如下所示:
public Object run(Object args) throws Exception {
Display display = PlatformUI.createDisplay();
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART) {
return IPlatformRunnable.EXIT_RESTART;
}
return IPlatformRunnable.EXIT_OK;
} finally {
display.dispose();
}
}
run()方法为IPlatformRunnable接口所定义的方法,在RCP程序启动时,会首先执行该方法。Application首先创建一个Display对象, 然后调用PlatformUI.createAndRunWorkbench()方法创建并启动工作台,这将打开应用程序主窗口,并使该窗口处于持续打开状态。应用程序开始处理用户的鼠标单击、鼠标移动、按键等各种事件,直到用户关闭程序退出,这就是所谓的事件循环。当然,在关闭之前,必须用display.dispose()销毁Display对象以释放资源。
在上面的程序中,只有运行到了createAndRunWorkbench()方法以后才会打开可视化界面,在这个代码之前可以做一些环境变量的准备工作。