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项目就创建好了,下一节我们将创建菜单栏
GEF入门实例_总结_02_新建初始RCP空项目的更多相关文章
- GEF入门实例_总结_04_Eclipse插件启动流程分析
一.前言 本文承接上一节:GEF入门实例_总结_03_显示菜单和工具栏 注意到app目录下的6个类文件. 这6个文件对RCP应用程序而言非常重要,可能我们现在对这几个文件的理解还是云里雾里,这一节我们 ...
- GEF入门实例_总结_03_显示菜单和工具栏
一.前言 本文承接上一节: GEF入门实例_总结_02_新建初始RCP空项目 这一节,我们来给我们的插件加上菜单. 二.基础知识 1.action bar.menubar.coolbar 含义 a ...
- GEF入门实例_总结_05_显示一个空白编辑器
一.前言 本文承接上一节:GEF入门实例_总结_04_Eclipse插件启动流程分析 在第三节( GEF入门实例_总结_03_显示菜单和工具栏 ),我们创建了菜单和工具栏. 这一节,我们来实现:点击 ...
- GEF入门实例_总结_06_为编辑器添加内容
一.前言 本文承接上一节:GEF入门实例_总结_05_显示一个空白编辑器 在上一节我们为我们的插件添加了一个空白的编辑器,这一节我们将为此编辑器添加内容. 二.GEF的MVC模式 在此只简单总结一下, ...
- GEF入门实例_总结_01_教程、源码、开发环境准备
一.前言 最近在学Eclipse插件开发,发现了一个比较好的GEF入门教程,并且按照教程上的操作,一步步实现了一个入门Demo,在此感谢作者的贡献. 好记性不如烂笔头,故决定总结一下这段时间的学习心得 ...
- Eclipse插件开发_学习_02_GEF入门实例
一.前言 这一节,我们将会创建一个GEF入门实例 二.新建RCP项目 1. New 一个 Plug-in Project 2.输入项目名 项目名:com.ray.gef.helloworld 3.Co ...
- Omnet++ 4.0 入门实例教程
http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...
- struts入门实例
入门实例 1 .下载struts-2.3.16.3-all .不摆了.看哈就会下载了. 2 . 解压 后 找到 apps 文件夹. 3. 打开后将 struts2-blank.war ...
- Vue.js2.0从入门到放弃---入门实例
最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用 ...
随机推荐
- pgAgent设定定时备份
PostgreSQL定时自动备份 简介 PostgreSQL数据库中未提供数据库的定时备份功能,所以需要结合备份和定时job功能来共同实现. 这里我选取了2种定时job方式,crontab是Linux ...
- corethink功能模块探索开发(二)让这个模块可安装
要想让这个模块可安装,只需要在opcmf.php文件中写一些配置数据就行 随便写点 Equip/opencmf.php <?php // 模块信息配置 return array( // 模块信息 ...
- python基础23 -----进程和线程
一.进程 1.什么是进程? 1.1 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成. 1.2 程序是指进程需要完成那些功能以及如何完成. 1.3 数据集 ...
- django用户信息扩展
Django封装了好多东西,拿来用就可以了,帮我们封装类用户的登录认证,用户的表 所以Django自带有用户表,当扩展用户表后一些表就会被替换 用户认证相关的 功能放在django.contri ...
- This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in问题
点击 Help > Install New Software. 在 Work with 的输入区域里, 输入: https://dl-ssl.google.com/android/eclipse ...
- 谷歌机器学习速成课程---2深入了解机器学习(Descending into ML)
1.线性回归 人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁.数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录.Ruth 阿姨将她喜爱的蟋蟀数据库作为生日礼物送 ...
- iOS 视图控制器转场动画/页面切换效果/跳转动画 学习
一 学习 在 UINavigationController 中 push 和 pop 的转场效果 (基于iOS7 以上的转场方式) 经过学习了解到,重点分三块: (1)pushAnimation: ...
- Apache Kudu
Apache Kudu是由Cloudera开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力.Kudu支持水平扩展,使用Raft协议进行一致性保证,并且与Cloudera Impala和 ...
- Spring_HelloWord
环境:IntelliJ 14 : jdk1.8 Spring操作步骤 1.新建项目---Spring Batch 2.IntelliJ会自动加载jar包 3.现在就可以在src目录下写Java类文 ...
- layer关闭弹窗
一.关闭弹出窗 这是layer官网给出的帮助手册,讲解的比较详细 分成两种情况: 1.弹出层不是新的页面的时候,直接获得该弹窗的索引,然后执行close方法 layer.close(); 2.弹出窗是 ...