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版本的,现在用 ...
随机推荐
- octotree神器 For Github and GitLab 火狐插件
Code tree for GitHub and GitLabExtension to show code tree for GitHub and GitLab. Useful for develop ...
- PHP 数字转大写
<?php header("content-type:text/html;charset=utf-8"); function numToRmb($num){ $rmbNum ...
- Android Opencv NativeCameraView error in 5.0 lollipop versions (Bug #4185)
https://github.com/opencv/opencv/wiki http://code.opencv.org/issues/4185 Hello, I finally get a ride ...
- perspective 能玩点什么
今天看又在看张鑫旭的博客,本来是在玩 transform:Matrix() 的,有讲到单个变化的矩阵设置,但多个变化的就不是那么回事了. 不过这都不是事啦,人生嘛,显然总会有些难关不是轻易能过去的,反 ...
- P4234 最小差值生成树
题目 P4234 最小差值生成树 做法 和这题解法差不多,稍微变了一点,还不懂就直接看代码吧 \(update(2019.2):\)还是具体说一下吧,排序,直接加入,到了成环情况下,显然我们要把此边代 ...
- OS路径模块命令
os.remove():删除指定文件os.rmdir():删除指定目录os.mkdir():创建单级目录os.makedirs():创建多级目录os.listdir(dirname):列出dirnam ...
- R中的运算符,条件语句,控制语句
1.运算符 算术运算符:+,-,*,/ 关系运算符:==,!=,>,>=,<,<= 逻辑运算符:&,|,&&,||,! &和|称为短逻辑符,&a ...
- tomcat 正常启动但不能访问
Eclipse中的Tomcat可以正常启动,不过发布项目之后,无法访问,包括http://localhost:8080/的小猫页面也无法访问到,报404错误.这是因为Eclipse所指定的Server ...
- python实现免密码登录lunx服务器
import paramikoimport oshostname='192.168.76.10'username='root'# password='123456'ssh=paramiko.SSHCl ...
- 分布式任务调度平台XXL-Job集群版搭建
如果集群: 保存后: 启动两个 job 第二个job的配置: # web port server.port=8082 # log config logging.config=classpath:log ...