EclipseRCP开发2-建立菜单

EclipseRCP开发3-建立自定义菜单 上篇博客介绍了如何利用Eclipse提供的Action完成菜单开发,这篇介绍一下自定义菜单的功能。建立工程的步骤就不再赘述了,前面的步骤可以看一下以前的博客。要想创建自定义菜单的功能,需要做几个操作,包括创建自定义Action,实现Action中的run方法,之后makeActions方法中注册自定义Action,在fillMenuBar方法中添加菜单。先来建立Action,Action要继承Ac 阅读详情

这篇博客建立一个菜单和工具拦的RCP程序,建立菜单和工具拦是需要利用ApplicationActinBarAdvisor类的,它有一个makeActions方法来声明actions,利用fillMenuBar和fillCoolBar方法添加菜单和工具拦。

 

打开ApplicationActionBarAdvisor,我们定义几个属性,

 

	private IWorkbenchAction iExitAction;
	
	private IWorkbenchAction iAboutAction;
	
	private IWorkbenchAction iNewWindowAction;
	
	private IWorkbenchAction iSaveAction;


 

之后找到makeActions方法,在里面可以实例化这几个属性,实例化这几个属性可以通过ActionFactory类,通过这个类可以创建退出、保存、关于、打开新窗体等等操作。

具体代码实现如下:

	iExitAction=ActionFactory.QUIT.create(window);
    	register(iExitAction);
    	iSaveAction=ActionFactory.SAVE.create(window);
    	register(iSaveAction);
    	iAboutAction=ActionFactory.ABOUT.create(window);
    	register(iAboutAction);
    	iNewWindowAction=ActionFactory.OPEN_NEW_WINDOW.create(window);
    	register(iNewWindowAction);


 

之后可以通过fillMenuBar方法来添加菜单。

首先需要定义一个MenuManager类,通过这个可以创建一个菜单,通过IWorkbenchActionConstants的属性来选择创建菜单的类型,文件或者帮助等等。

之后通过add方法添加相应的action,具体代码是:

 

	MenuManager fileMenu=new MenuManager("&File",IWorkbenchActionConstants.M_FILE);
    	MenuManager helpMenu=new MenuManager("&Help",IWorkbenchActionConstants.M_HELP);
    	menuBar.add(fileMenu);
    	menuBar.add(helpMenu);
    	
    	fileMenu.add(iNewWindowAction);
    	fileMenu.add(iSaveAction);
    	fileMenu.add(new Separator());
    	fileMenu.add(iExitAction);
    	
    	helpMenu.add(iAboutAction);


 

通过这样简单的设置之后,可以运行plugin.xml之后会出现这样的窗体:

点击file有设置的三个字菜单,

到现在,菜单栏做好了,EclipseRCP的功能确实挺强大,已经封装了很多东西,我们仅仅需要调用一下即可了,但是有时候需要一些特殊的菜单和功能,这时候就需要另行其道了。

 

 

EclipseRCP开发之屏蔽视图上的右键菜单 需求如题,解决如下:  在ApplicationWorkbenchWindowAdvisor类中加上如下方法:    //屏蔽视图上的右键菜单    public void postWindowOpen() {        PlatformUI.getWorkbench().getDisplay().addFilter(SWT.MouseUp,                new Li 阅读详情

相关推荐

EclipseRCP开发剪辑(2)--EclipseRCP运行基本原理

 1、插件类Activator.java       该类主要创建整个插件对象,是插件的全局对象。可以通过该类的静态方法getDefault()获得插件对象的引用,然后可以获得插件的各种信息,其中包括插件对应的Bundle文件信息和工作台对象等。package myfirstrcp;import org.eclipse.jface.resource.ImageDescriptor;im

了我欣艺 2011

[转]Eclipse RCP应用系统开发方法与实战1-- RCP基本框架

5.1.3 RCP基本框架 一个基本的RCP应用程序已经搭建起来,尽管还非常稚嫩,却已经初具雏形。探究一下RCP的基本框架对于理解RCP大有好处。从前面图5-6可以看 出,Eclipse已经自动生成了Application.java、ApplicationActionBarAdvisor.java、 ApplicationWorkbenchAdvisor.java、A...

weixin_34100227的博客 437

Eclipse RCP Plugin 开发自学入门指南(CEC首发)

Eclipse Rich Client Application 开发自学教程 For The Eclipser salever 2011-3-28 根据最新版本的Eclipse 3.6 重新编写,每章都可独立于其他章节,内附的代码均可直接运行, 适合Eclipse 开发者参考。 声明 本教程素材来源于网络,经过本人的整理、添加以及部分的重写,将原有的 Eclipse3.3 版本的 一些内容完全迁移到 Eclipse3.6 版本上来。基于开源以及分享的精神,特地将教程分享到网络上, 希望所有需要的朋友因此而受益,也希望大家能有版本意识,转载时注明来自 salever@126.com。 之前有一套基于 Eclipse3.3 版本的教程,也是本人整理,由于本人的疏忽,导致网络上的版本 各不相同,但分享已久,无法改变,希望大家谅解并使用新版本的教程。 本教程由本人发布在 www.ceclipse.org 以及本人的 blog 中,希望对大家有所帮助,也希望各位 喜欢分享的朋友在转载时注明,谢谢。 序 Eclipse RCP 允许开发者使用 eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中 已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP 入手可能会比较困难、费时。接下 来我们将主要讲述如何让RCP 工作. 基于 Eclipse 3.6。 将涉及以下内容:创建第一个 RCP 程序,创建菜单和工具栏,查看,编辑,对话,外部 JAR 的用法,向一个 RCP应用程序产品中添加标志和帮助。 每一章都基本独立于其他章节。 目录 1 富客户端平台 ...................................................................................................................................... 9 1.1 概述 ............................................................................................................................................... 9 1.2 ECLIPSE RCP 建设风格——插件,扩展和扩展点 ..................................................................... 9 1.3 RCP与PLUGIN ................................................................................................................................ 9 2 创建第一个RCP程序 ........................................................................................................................ 11 2.1 创建一个RCP程序 ...................................................................................................................... 11 2.2 启动RCP程序 .............................................................................................................................. 15 2.3 程序VS 产品 .............................................................................................................................. 17 2.4 维护LAUNCH配置 ....................................................................................................................... 17 2.5 可能的APPLICATION ID 错误: .................................................................................................. 20 2.6 应用程序的PLUGIN ID ................................................................................................................ 21 3 ACTIONS的用法(菜单栏和工具栏) ............................................................................................ 22 3.1 概述 ............................................................................................................................................. 22 3.2 通过编码添加 ............................................................................................................................. 22 3.3 “扩展”方式添加菜单和工具栏 .................................................................................................. 25 3.4 添加全局快捷键 ......................................................................................................................... 31 3.4.1 Command+Handler+Binding 绑定 ...................................................................................... 31 3.4.2 Action+Command+Binding绑定 .......................................................................................... 33 4 系统托盘 ............................................................................................................................................ 37 5 视图 .................................................................................................................................................... 42 5.1 添加示例视图 ............................................................................................................................. 42 5.2 添加自定义视图 ......................................................................................................................... 47 5.3 向VIEW里添加ACTION ................................................................................................................ 52RCP/Plug-in开发自学教程 版权所有 转载请注明salever@126.com - 5 - 6 编辑器 ................................................................................................................................................ 58 6.1 概述 ............................................................................................................................................. 58 6.2 创建工程 ..................................................................................................................................... 58 6.3 添加编辑器 ................................................................................................................................. 59 6.4 调用编辑器 ................................................................................................................................. 67 6.5 实例:文本编辑器实现 ............................................................................................................. 68 6.5.1 新建工程 .............................................................................................................................. 68 6.5.2 添加菜单栏和工具栏 .......................................................................................................... 70 6.5.3 添加编辑器 .......................................................................................................................... 75 7 对话框 ................................................................................................................................................ 86 7.1 概述 ............................................................................................................................................. 86 7.2 预定义的对话框 ......................................................................................................................... 87 7.2.1 概述 ...................................................................................................................................... 87 7.2.2 创建工程 .............................................................................................................................. 87 7.2.3 添加菜单 .............................................................................................................................. 87 7.2.4 调用对话框 .......................................................................................................................... 87 7.3 用户自定义对话框 ..................................................................................................................... 89 7.3.1 概述 ...................................................................................................................................... 89 7.3.2 创建SWT/JFace工程 ........................................................................................................... 89 7.3.3 自定义Dialog ....................................................................................................................... 91 7.3.4 说明 ...................................................................................................................................... 97 8 向导 .................................................................................................................................................... 98 8.1 概述 ............................................................................................................................................. 98 8.2 示例 ............................................................................................................................................. 98 9 首选项 .............................................................................................................................................. 106RCP/Plug-in开发自学教程 版权所有 转载请注明salever@126.com - 6 - 9.1 首选项 ....................................................................................................................................... 106 9.2 使用首选项 ............................................................................................................................... 106 9.3 首选项页 ................................................................................................................................... 112 10 添加状态栏 .................................................................................................................................... 117 10.1 简介 ......................................................................................................................................... 117 10.2 安装状态栏 ............................................................................................................................. 117 10.3 初始化状态条 ......................................................................................................................... 118 10.4 控制状态栏 ............................................................................................................................. 120 11 透视图 ............................................................................................................................................ 123 11.1 简介 ......................................................................................................................................... 123 11.2 添加透视图 ............................................................................................................................. 123 11.3 显示透视图工具栏 ................................................................................................................. 128 11.4 显示透视图菜单 ..................................................................................................................... 130 12 进度条 ............................................................................................................................................ 133 12.1 简介 ......................................................................................................................................... 133 12.2 进度条对话框 ......................................................................................................................... 133 12.3 JOB进度条 ................................................................................................................................ 135 13 使用第三方JAR ............................................................................................................................. 140 13.1 概述 ......................................................................................................................................... 140 13.2 向构建路径中添加JAR ........................................................................................................... 140 13.3 使JAR在你的运行路径里有效 ................................................................................................ 141 14 提示和策略 .................................................................................................................................... 143 14.1 控制台日志 ............................................................................................................................. 143 14.2 保存用户的布局 ..................................................................................................................... 145RCP/Plug-in开发自学教程 版权所有 转载请注明salever@126.com - 7 - 14.3 获得DISPLAY ............................................................................................................................ 146 14.4 使用ECLIPSE的“保存”ACTION ................................................................................................. 146 14.5 向你的程序添加错误日志视图 ............................................................................................. 146 15 产品 ................................................................................................................................................ 149 15.1 概述 ......................................................................................................................................... 149 15.2 PRODUCT配置文件 ................................................................................................................... 149 15.3 测试你的产品 ......................................................................................................................... 153 15.4 欢迎页面 ................................................................................................................................. 153 15.5 商标 ......................................................................................................................................... 154 15.6 风格化LAUNCHING .................................................................................................................. 155 15.7 发布你的产品 ......................................................................................................................... 156 15.8 创建一个帮助插件工程 ......................................................................................................... 159 16 专题一 ECLIPSE的版本和发行包 .............................................................................................. 164 16.1 版本 VERSION ......................................................................................................................... 164 16.1.1 版本的理解 ...................................................................................................................... 164 16.1.2 Eclipse的版本 ................................................................................................................... 164 16.1.3 版本的选择和下载 .......................................................................................................... 164 16.2 发行包 EDITION ...................................................................................................................... 166 16.2.1 发行包的理解 .................................................................................................................. 166 16.2.2 Eclipse的发行包 ............................................................................................................... 166 17 专题二 ECLIPSE的国际化与语言包 .......................................................................................... 169 17.1 国际化 ..................................................................................................................................... 169 17.1.1 Externalize Strings ............................................................................................................ 169 17.1.2 中文属性文件 .................................................................................................................. 175 17.1.3 国际化文件 ...................................................................................................................... 176 17.1.4 指定语言环境 .................................................................................................................. 176RCP/Plug-in开发自学教程 版权所有 转载请注明salever@126.com - 8 - 17.1.5 Propedit工具 ..................................................................................................................... 177 17.2 语言包 ..................................................................................................................................... 177 17.2.1 Babel小组 ......................................................................................................................... 177 17.2.2 中文语言包的下载 .......................................................................................................... 178 18 专题三 DECORATOR与MARKER的使用 ................................................................................. 180 18.1 简介 ......................................................................................................................................... 180 18.2 扩展DECORATOR ...................................................................................................................... 180 18.3 扩展MARKER ........................................................................................................................... 184 19 专题四 RUN/DEBUG LAUNCHER实现 .................................................................................... 190 19.1 ECLIPSE RUN/DEBUG 实现流程 ............................................................................................... 190 19.2 扩展CONFIGURATIONTYPE ....................................................................................................... 192 19.3 扩展ILAUNCHSHORTCUT ......................................................................................................... 194 19.4 创建RUN/DEBUG CONFIGURATION界面 .................................................................................. 197 19.5 指定RUN/DEBUG显示图片 ..................................................................................................... 204 19.6 说明 ......................................................................................................................................... 205 20 专题五 EQUINOX P2 方式实现RCP自动更新 ......................................................................... 207 20.1 概述 ......................................................................................................................................... 207 20.2 示例 ......................................................................................................................................... 207 20.2.1 Feature概念 ....................................................................................................................... 207 20.2.2 配置Product ..................................................................................................................... 210 20.2.3 配置Feature ...................................................................................................................... 211 20.2.4 product导出 ...................................................................................................................... 213 20.2.5 配置Equinox P2 ............................................................................................................... 214 20.2.6 配置 Update Site ............................................................................................................. 215 21 专题六 COMMON NAVIGATOR FRAMEWORK初探 ............................................................. 216

使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框

在使用Eclipse RCP进行桌面程序开发(一):快速起步中,我们通过Eclipse的插件开发向导,逐步建立了一个RCP应用程序,但是,这个程序没有任何功能,难以激起我们学习的兴趣。在这一节,我们将一起探索怎样在程序中添加菜单和工具条。先看一下成果:图一、图二:带有菜单和工具条的RCP程序图三:工具栏上的按钮的提示文本图四:点击菜单项或者工具栏按钮后,弹出一个简单的对话框。这

2681

一文讲透3GPP TS 36.104发射链路相关指标

3GPP是制定移动通信标准的国际组织,其36.104规范对LTE基站射频性能提出详细要求。规范主要涵盖七方面:1)基站输出功率分类标准;2)LTE信道带宽计算方法;3)TD-LTE特有的发射机关断功率及时延要求;4)信号质量指标(频率误差和EVM)及其影响因素;5)邻道泄漏比(ACLR)的45dBc标准;6)带内频谱辐射模板(OBUE)的噪声限制;7)9kHz-12.75GHz频段的带外杂散辐射要求。这些技术要求保障了LTE基站的射频性能和网络质量。

weixin_49761275的博客 4526

解密高并发系统的瓶颈:五大解决方案

在互联网应用中,高并发是指在短时间内同时有大量的用户访问一个网站或服务,造成系统压力过大,导致服务器宕机或服务停止响应的情况。高并发是互联网应用面临的一个重要问题,需要采取一系列措施来解决。负载均衡、缓存、数据库优化、异步处理和分布式架构是解决高并发问题的主要方法。在实际应用中,需要根据具体情况选择不同的方法来解决高并发问题。在高并发情况下,使用负载均衡是解决问题的一种常见方法。负载均衡可以通过将请求分配到多个服务器上,从而减少单个服务器的负载。这可以通过硬件设备或软件实现。

BUG制造者:图图 <p>这是一个P标签</p> 3905

Rcp 中添加eclipse中的菜单栏

Rcp 中添加eclipse中的菜单栏如File,Edit , navigate ,search ,Project和eclipse中实现的Action都可以集成到自己的RCP中。

能量守恒洛的专栏 4249

USB2.0信号完整性测试之眼图

名称线缆颜色引脚描述红色绿色白色GND黑色。

qq_53766840的博客 3287

为视图添加工具栏和菜单(一) 使用窗口上的工具栏和窗口菜单

例如,新建,打开,删除,剪切,粘帖等等,这些命令通常出现在窗口的菜单和工具栏上但是,在不同的情况下可能执行不同的操作。开发这些功能的时候,我们通常无法预料未来将出想哪些新的需求。所以,这些动能应当随着当前的活动的某些部件的而改变。好的实现方式是把这些功能实现的职责交给对应的部件。如下图:新建的按钮在当前激活的视图为“项目”视图时,应当是新建项目,如果是在文档视图中时,就应当是新建文档,同样删除的...

weixin_30314631的博客 561

Wireshark抓包分析:如何从HTTP流量中快速定位黑客攻击痕迹(附pcap文件)

本文通过Wireshark实战,详细解析了如何从HTTP流量中快速定位黑客攻击痕迹。文章提供了核心过滤策略,并重点剖析了如何识别SQL注入攻击的流量特征、揭露WebShell的隐蔽通信以及追踪攻击者在横向移动中的行为,帮助安全人员系统性地从pcap文件中还原完整攻击链。

sprite的博客 1010

VScode高效开发STM32:头文件路径配置全解析

本文详细解析了在VScode中高效开发STM32项目的核心步骤——头文件路径配置。针对常见的“找不到头文件”问题,文章深入剖析了IntelliSense的工作原理,并提供了手把手创建和解读c_cpp_properties.json配置文件的完整指南,包括includePath、defines、compilerPath等关键项的设置,帮助开发者彻底解决红色波浪线错误,实现精准的代码提示与跳转。

weixin_28835789的博客 341

eclipse python_Eclipse上搭建ANSA二次开发环境

简介  Eclipse是一个集成开发环境 ( Integrated development environment,IDE)。它由一个基本的工作区和可用于定制开发环境的插件系统组成。为了让Eclipse支持python,需要安装一个叫做PyDev的第三方插件。PyDev插件支持自动补全、代码重构、可视化调试、代码分析和许多其他功能。Eclipse 和 PyDev请并按照各自站点所给出的说...

weixin_39675963的博客 277

从EXIF到测绘:解码大疆影像元数据的实战应用指南

本文深入解析了大疆无人机影像元数据的实战价值,重点阐述了如何利用EXIF和XMP中的GPS、RTK、姿态角及相机内参等关键信息,提升测绘、三维重建及精准农业等项目的成果精度与效率。通过自动化质检脚本与行业应用场景剖析,指导从业者将元数据从信息转化为生产力,实现从拍照到专业测绘的跨越。

dell8的博客 527

EclipseRCP开发之增加右键菜单

 需求如题,解决方法如下:有两种方法:第一种,定义一个方法,返回一个Menu    // 右键菜单    private Menu createPopup(Composite parent) {       final Composite container = new Composite(parent, SWT.NONE);       final Menu p = new Menu(con

了我欣艺 1500

【OpenAirInterface知识-3】OAI端到端部署之5G基站部署

在上一篇文章中已经完成了5G核心网的部署,本篇文章将介绍OAI 5G基站的部署过程。

起名字难上难的博客 3422

短信验证码逻辑漏洞学习——各种绕过姿势技巧

短信验证码逻辑漏洞学习——各种绕过姿势技巧

记录并分享学习安全的知识点.. 2557

rcp(插件开发)如何过滤多余的菜单项?

在Eclipse RCP开发中,如果你的dependencies中包含了org.eclipse.ui.ide,在创建菜单栏是你会发现出现了多余的菜单项,例如"Convert Line Delimiters to"和"Last Edit Location"这两个菜单项。如何去掉这些多余的菜单项呢? 可以在你的ApplicationActionBarAdvisor类中添加如下代码(可以在make

Hello Eclipse Plugin 黑夜 1956

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RCP去掉多余菜单

在Eclipse RCP开发中,如果你的dependencies中包含了org.eclipse.ui.ide,在创建菜单栏是你会发现出现了多余的菜单项,例如"Convert Line Delimiters to"和"Last Edit Location"这两个菜单项。如何去掉这些

Base 2259

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

EclipseRCP开发剪辑(1)--EclipseRCP入门

  一、EclipseRCP概述:         RCP(Rich  Client  Platform)富客户端平台是基于Eclipse插件开发的一种应用。它是Eclipse3.0版本以后新增的一项功能,通过RCP可以快速构建应用程序,因此其具有广泛的应用前景。        RCP本质上是Eclipse的插件,所以当开发RCP应用程序时,可以利用Eclipse平台UI外观和框架来快

了我欣艺 1211

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

使用Eclipse RCP进行桌面程序开发(三):视图和透视图

使用Eclipse RCP进行桌面程序开发(一):快速起步  使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框  Eclipse RCP开发中,和用户进行交互最多的界面,应该是视图了,而透视图就是将已有的视图、菜单、工具栏、编辑器等等进行组合和布局。看完这一节,我们就可以建立如下图这样的程序界面了。 首先我们来介绍一下视图,建立一个视图其实非常简单,只要

key_0423的专栏 1904

EclipseRCP一些基本方法

一、ApplicationWorkbenchWindowAdvisor.java   1、运行程序自动最大化: // 运行程序后自动最大化 public void postWindowOpen() { this.getWindowConfigurer().getWindow().getShell().setMaximized(true); }   二、Applicatio...

sc_1028的专栏 217

学习EclipseRCP

RCP(Rich Client Platform)是一个使用Java技术构建富客户端应用的平台,它使用SWT/JFace技术构建界面部分,使用Eclipse平台作为RCP程序的运行环境,本质上RCP是Eclipse平台的插件。RCP的优点是可以快速开发桌面系统,构建一般的应用都很简单,甚至构建一个浏览器只需要拖出一个浏览器控件就可以,复杂的地方就是需要做一定的配置。 RCP程序可以脱离Eclip...

iteye_20333的博客 191

EclipseRCP开发(三)-如何去除顽固原生菜单项

获取所有菜单项,筛选出new菜单,将new菜单清空,再重新从已注册的向导中添加所需菜单。

cxqiuWind的博客 563

eclipseRCP深入浅出(学习总结)2015.08.24

chapter 6  1、 ApplicationWorkbenchWindowAdvisor中的preWindowOpen()方法可以设置顶级菜单可用: //设置顶级菜单可用,但不设置可见     configurer.setShowMenuBar(true); 2、只有给顶级菜单添加选项之后才可见,否则就是空的,显示不出来 3、当创建一个RCP应用框架以后,他就生成了一个Acti

u013171997的专栏 592

公开源码EclipseRcp玩具作品-eRedRCP

1.写在最前面 这是一个我最近学习EclipseRCP的一个玩具作品。由于最近杂事缠身,加之想把精力和重心放回到JavaEE上去. 所以将暂停这个程序的后续开发.特将此拙作发出来供EclipseRCP(SWT/JFace)入门者参考. 2.相关环境. Eclipse版本:3.2 SWT/JFACE 可视化插件 WindowsBuilder 访问官方网站 数据库:H2 访问官方网站 持久层框架:...

eRedLab 192
上一篇: EclipseRCP开发1-建立第一个RCP
下一篇: EclipseRCP开发3-建立自定义菜单
lfsf802
博客等级 码龄16年 1576粉丝 189原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值