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版本的,现在用 ...
随机推荐
- linux list.h 移植
Linux内核中List链表的实现,对于想进阶的程序员来说,无疑是一个很好的学习机会.内核实现了一个功能十分强大的链表,而且是开源的,用在其他需要的地方岂不是很省事. 一.看List实现前,先补充ty ...
- jQuery Mobile panel的相关属性
参考网站:http://www.lampweb.org/jquerymobile/19/64.html 面板 data-role="panel" 在一个 jQuery Mobile ...
- ACM解题之(ZOJ 2724)Windows Message Queue
题目来源: 点击打开链接 题目翻译: 消息队列是windows系统的基本基础.对于每个进程,系统都维护一个消息队列.如果这个过程发生某些事情,例如鼠标点击,文本改变,系统会向队列添加一条消息.同时,如 ...
- Fidder详解之抓包
前言 本文是博主发表的第一篇文章,如有傻逼之处,请大家见谅.最近遇到很多人说接口相关的问题,比如:什么是接口,我该怎么做接口测试,还有我总是抓不到APP上的https请求(这个巨坑,不知道坑了多少小白 ...
- java对象生命周期概述复习
最近看了下java对象的生命周期做个笔记复习复习,很多不同的原因会使一个java类被初始化,可能造成类初始化的操作: 1) 创建一个java类的实例对象. 2) 调用一个java类中的静态方法. ...
- $MySQL常用操作命令备忘
1.登录数据库:mysql -uroot -p12345 (12345为密码)2.创建数据库:create database senguocc; (senguocc为数据库名)3.查看有哪些数据库: ...
- InnoDB存储引擎内存缓冲池管理技术——LRU List、Free List、Flush List
InnoDB是事务安全的MySQL存储引擎,野山谷OLTP应用中核心表的首选存储引擎.他是基于表的存储引擎,而不是基于数据库的.其特点是行锁设计.支持MVCC.支持外键.提供一致性非锁定读,同时被设计 ...
- 011_Eclipse中使用HDFSFileSystemAPI事例介绍
需求 1.文件操作 1)上传本地文件到HDFS 2)读取文件 3)在hadoopfs中新建文件,并写入 4)重命名文件 5)删除hadoopfs上的文件 2.目录操作 1)读取某个目录下的所有文件 2 ...
- 大数据架构之:Storm
Storm是一个免费开源.分布式.高容错的实时计算系统,Twitter开发贡献给社区的.Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求. Storm经常用 ...
- 【TopCoder】SRM159 DIV2总结
250分题:给出一些规则,问街道上哪些地方可以停车. 简单的模拟题,考察每条规则是否成立即可. 代码:StreetParking 500分题:实现集合的交,并和差运算. 交运算:一个数组放到集合中,遍 ...