首页 > Linux操作系统 > Linux操作系统 > 【原创】创建RCP应用(二十九)
Java在B/S模式的开发中已经非常成熟,但在C/S模式的开发中,还是远落后于VC、Delphi等开发语言。RCP(Rich Client Platform)是Eclipse中为创建富客户程序而贡献的一种技术,通过RCP技术开发出来的程序可以与任何其他语言开发的本地程序相媲美。
RCP的简介RCP应用程序是基于Eclipse插件架构的,把Eclipse作为Java程序的宿主平台,在Eclipse的基础之上建立跨平台的Java应用,通过RCP技术开发出来的应用程序,可以与任何其他语言开发的本地程序相媲美。
在Eclipse的早期版本中,IDE的菜单、标题和状态栏等都是“硬”编码到Eclipse中的。这种方式对IDE来说没太大影响,但如果要把Eclipse作为一个非IDE的程序,就会带来很多的问题。在Eclipse 3.0以后,Eclipse已经被重构,所有“硬”编码的部分被分离出来,使得在Eclipse中RCP的开发成为可能。
在开发RCP应用之前,首先要了解几个概念。
PDE提供了创建RCP的快捷方式,用户可以通过向导,利用PDE提供的模板快速地创建一个RCP应用。在此将通过向导创建RCP程序,运行RCP程序,最后把RCP程序导出成可单独运行的应用。通过这个过程,读者可以了解RCP程序的强大之处。
创建RCP应用在Eclipse中,用户可以通过PDE快速地创建一个RCP应用。创建RCP应用和创建插件类似(RCP也是基于插件架构的应用)。通过模板创建RCP应用的步骤如下。
(1)选择新建插件项目,并在新建插件向导中输入插件项目的名称。
(2)在设置插件属性的对话框中选择创建RCP应用,如图1所示。
图1 设置插件的属性
(3)单击“Next”按钮,选择RCP应用的模板。
(4)单击“Finish”按钮,通过模板创建RCP应用。
运行RCP应用按照上面的步骤,可以通过模板非常容易地创建可独立运行的RCP应用,在此应用中实现了“org.eclipse.core.runtime.applications”和“org.eclipse.core.runtime.products”扩展点,用户可以在插件的运行参数设置对话框中设置以application或product方式运行。
在Eclipse中,运行RCP的步骤如下。
(1)执行菜单“Run”→“Debug”,在打开的对话框中设置运行参数,其中“Run a product”参数要指定RCP项目中的产品ID,如图2所示。
图2 设置运行参数
(2)单击“Debug”按钮,运行product指定的插件项目,运行效果如图3所示。
图3 RCP范例运行效果
从运行效果看,是不是感觉到所运行的RCP插件没有任何Eclipse的身影?在运行的RCP产品中只包含Eclipse的核心包和SWT等构建GUI所依赖的包,可以说RCP只是包括Eclipse内核的Java应用,这也是RCP程序开发的目的所在。
导出RCP应用通过模板可以快速地创建一个RCP应用,用户可以在此基础上扩展,建立自己的可跨平台的Java应用。当创建了自己的应用以后,用户会考虑把创建的应用作为一个独立的产品进行发布,让其他人可以直接运行程序(就像用VC等开发出来的程序一样)。
Eclipse的PDE提供了导出产品的功能,用户可通过PDE的向导,把自己开发的应用导出成为一个含Eclipse内核的、可执行的应用,具体步骤如下。
(1)通过菜单“File”→“New”→“Other”,打开新建向导,并选择“Product Configuration”项,创建产品的配置文件(通过产品配置文件,Eclipse才能知道要打包产品包含插件的内容),如图4所示。
图4 新建产品配置文件向导
(2)输入产品的配置文件名称,并选择存在的产品,如图5所示。
图5 创建产品配置文件
(3)单击“Finish”按钮,在当前的项目中创建了mail.product产品配置文件,用户可以通过产品配置文件的编辑器修改要打包发布产品的一些配置信息,例如“可执行程序名字”、“图标”和“欢迎界面”等。
(4)用鼠标右键单击要导出的项目,选择“Export”菜单,打开Export对话框,并选择“Eclipse Product”选项,如图6所示。
图6 Export对话框
(5)单击“Next”按钮,并在导出RCP项目的对话框中设置相关的属性,通过“Browse”按钮选择产品配置文件,以及指定导出的目录等,如图7所示。
图7 导出产品对话框
通过上面的步骤就可以把创建的RCP应用导出到“D:\temp\rcp”目录下面,产品根目录为mail。
导出的RCP应用是一个包含Eclipse内核的应用,在此应用中只包含用户开发的插件所依赖的插件和内核,所以导出项目总的磁盘空间是很小的,不会导出Java的IDE和其他非依赖的插件。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13081368/viewspace-412210/ ,如需转载,请注明出处,否则将追究法律责任。