GEF入门实例_总结_02_新建初始RCP空项目
一、前言
本节承接上一节: GEF入门实例_总结_01_教程、源码、开发环境准备
这一节我们来创建一个空的RCP项目。
二、新建RCP项目
1. New 一个 Plug-in Project
2.输入项目名
输入项目名:gef.tutorial.step,然后next
3.Content页
勾选下面三处:
1处:生成一个Activator,用于管理插件的生命周期
3处:是否想要创建一个RCP程序,选择是
4.模板
选择最小的模板,然后Finish,这样,项目已经创建好了,不过我们还需要进行下面的操作。
生成的项目目录结构如下:
5.添加依赖
需要引入GEF依赖
(1) 双击 plugin.xml ,选择 Dependencies页,点击Add...
(2)然后 搜索gef,选择org.eclipse.gef ,然后 OK。
(3)用同样的方法添加View
6.修改工程目录结构
(1) 新建如下包
(2)将自动生成的5个类移入app目录下
(3)在包app下新建类:ApplicationActionBarAdvisor,继承自 ActionBarAdvisor
并覆写makeActions、fillMenuBar、fillCoolBar这三个方法
ApplicationActionBarAdvisor.java
package gef.tutorial.step.app; import org.eclipse.jface.action.ICoolBarManager; import org.eclipse.jface.action.IMenuManager; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.application.ActionBarAdvisor; import org.eclipse.ui.application.IActionBarConfigurer; public class ApplicationActionBarAdvisor extends ActionBarAdvisor { public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) { super(configurer); } //1.生成并注册Action。Action只有注册后才能添加到菜单中 @Override protected void makeActions(IWorkbenchWindow window) { // TODO Auto-generated method stub super.makeActions(window); } //2.填充菜单栏。用Action来填充菜单 @Override protected void fillMenuBar(IMenuManager menuBar) { // TODO Auto-generated method stub super.fillMenuBar(menuBar); } //3.填充工具栏。用Action来填充工具栏 @Override protected void fillCoolBar(ICoolBarManager coolBar) { // TODO Auto-generated method stub super.fillCoolBar(coolBar); } }
(4) 修改 ApplicationWorkbenchWindowAdvisor
将
@Override public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) { return new ActionBarAdvisor(configurer); }
修改为刚刚创建的ApplicationActionBarAdvisor
@Override public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) { return new ApplicationActionBarAdvisor(configurer); }
三、启动项目
这样我们就创建好了一个空的RCP项目了,我们来试着运行一下此插件看看
依次点击 Run -> Run Configurations... ,出现下图
双击Eclipse Application,出现下图
1.配置Main
配置下图5处
2.配置Plug-ins
然后点击Apply
3.运行
完成1、2步配置后,点击Run,即可运行
效果如下图:
这样一个空白的RCP项目就创建好了,下一节我们将创建菜单栏