首先新建一个eclipse插件项目,项目名称为com.lql.helloworld。
1、目标平台选择Eclipse version:3.6
2、是否要创建富客户端程序:选择yes
3、在模板页面,选择RCP application with a view
然后点击finish完成插件的创建。
插件创建完成以后,不做任何修改是可以运行的,截图如下:
Eclipse插件模板为我们添加了一个带树的视图,还包括一个菜单File,里面有退出菜单项。
接下来,我们看看源代码目录src:
这里一共包含了7个java文件,简单介绍一下:
Activator.java:该java类控制插件的生命周期,它继承了AbstractUIPlugin。
该类中包含了两个方法start和stop,在程序启动时,会执行start方法,在关闭程序时,会执行stop方法。可以写个sysout语句打印提示看看结果。
Application.java:该java类控制程序的所有方面。它实现了IApplication接口,里面就实现了两个方法start和stop。
在start方法中,主要的工作是创建爱你工作台(Workbench)。在stop方法中的工作是关闭工作台。
ApplicationActionBarAdvisor.java:该类主要负责创建、添加以及注销添加到工作台窗口的Action。换句话说,我们可以在该类中创建菜单和工具栏。
ApplicationWorkbenchAdvisor.java:该类的作用创建一个WorkbenchWindowAdvisor,同时提供一个初始化的Perspective。
ApplicationWorkbenchWindowAdvisor.java:该类主要是对工作台窗口进行配置,比如我们可以在创建窗口之前或者在窗口打开之前做一些处理,都是在这里对应的方法中处理的。
如preWindowOpen方法中可以设置初始大小、是否显示工具栏以及设置标题等。
Perspective.java:该类我们称之为透视图,主要负责窗口的布局,默认实现了IPerspectiveFactory接口,该接口包含一个方法:createInitialLayout,
创建初始的布局,在该方法中我们还可以将自己的视图添加到窗口中。
View.class:该类就是模板为我们生成的视图类,该类继承了ViewPart,主要包含两个方法createPartControl和setFocus,
第一个方法作用是创建视图的窗口内容,第二个方法是设置初始的焦点。
此外,该插件项目中海包含了几个重要的文件:
plugin.xml:该xml文件就是插件的配置文件,定义了插件的各个部分,可以在里面配置菜单,action、command、view以及透视图等。
build.properties:这个是项目构建的属性文件。
在META-INF目录中海包含MANIFEST.MF文件,这个文件是一个清单文件,里面定义了插件的一些属性信息,
如版本,名称、提供商,以及该插件依赖的其他插件,该插件的运行环境等。还可以定义导入或者导出的package。
下面我们来对这个插件项目进行改造,添加一些功能。
首先,我们让这个插件来显示工具栏。
我们可以修改ApplicationWorkbenchWindowAdvisor->preWindowOpen->configurer.setShowCoolBar(true);
这样修改之后再运行,我们会发现在菜单栏下面多出了一个空白区域,这个区域就是工具栏,只是没有按钮显示而已。
下面我们来添加几个菜单和工具栏按钮。
我们打开MANIFEST.MF文件,切换到Extensions标签页,我们点击Add来添加一个扩展,
我们在过滤文本框中输入actionSet,然后选中org.eclipse.ui.actionSets,然后finish。
然后在org.eclipse.ui.actionSets下面添加一个actionSet,如下:
接着,我们在该actionSet1下面添加一个action(右键菜单->New->action)内容如下图:
这里有一个需要注意的地方是,menubarPath的值,"/"之前的值为扩展中org.eclipse.ui.menus中File菜单的id,如果org.eclipse.ui.menus中File菜单没有定义id,我们就自己加上一个,然后在menubarPath中加上。
"/"之后的值是菜单的名称。其实该选项的作用就是定义该action对应的菜单,以及该菜单应该放在什么位置,在这里,我们将它放置在File菜单之下,接下来看看运行结果:
至于菜单,因为不好截图就没有贴上来。
至此,我们完成了一个简单的RCP程序,不管怎样,会创建工具栏和菜单了,下面将继续学习其他内容。
- 大小: 37.1 KB
- 大小: 62.9 KB
- 大小: 35.4 KB
- 大小: 48.9 KB
- 大小: 33.3 KB
分享到:
相关推荐
rcp学习好资料
NULL 博文链接:https://gongqi.iteye.com/blog/819868
使用RCP技术开发的补丁生成器,可以用于初学者学习RCP或Eclipse插件开发
通过例子学习EclipseRCP开发通过例子学习EclipseRCP开发
搜了好久才下载,里面的内容确实很详细,适合初学者...同样适合当工具书...
这是一个对于初学者很好的学习的rcp例子,有心想和大家一起共享,请多多支持。
RCP学习的好资料,菜单控制实现,显示和隐藏菜单项action等等
eclipse RCP学习项目源码&扩展控制台插件for eclipse3.5
RCP&OSGI;
RCP中文入门教程,RCP中文入门教程,RCP中文入门教程,RCP中文入门教程
eclipse rcp 插件开发学习笔记.pdf 15-24章
RCP在线升级RCP在线升级RCP在线升级RCP在线升级RCP在线升级
clipse RCP允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP入手可能会比较困难、费时。接下来我们将主要讲述如何让RCP工作 ...
工作需要,从学习RCP到结项所用到的所有资料,新手可以看看,多翻翻。
Eclipse RCP允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP入手可能会比较困难、费时。接下来我们将主要讲述如何让RCP工作
Eclipse_RCP的自学教程,对学习rcp的朋友有所帮助
RCP 的全称是 Rich ...RCP 给开发者带来的更多的感觉是在它充分发挥了插件化系统的优势,从 RCP 的设计中,可以学习到如何将应用做到模块化、将应用做到动态化,甚至还可以学习到如何自动生成界面这样的设计思想。
RCP导出EXE 老大难问题。 RCp 程序导出步骤,保证能够导出~