博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
eclipse 插件编写(二)
阅读量:7212 次
发布时间:2019-06-29

本文共 1762 字,大约阅读时间需要 5 分钟。

上篇文章简单写了下怎么新建一个eclipse插件工程,这次写一下怎么在上次的工程中添加几个菜单,如菜单栏菜单、工具栏菜单、右键菜单等。

创建一个完成的菜单需要了解三个扩展点,即menus、commands、handlers,其中menus为菜单的扩展点,在引入菜单扩展点后,添加一个menu即添加了一个菜单;commands为行为扩展点,即声明一个行为操作,如:吃饭、跑步等,handlers为具体的行为操作扩展点,吃饭跑步的具体实施。一个menu与一个command相关联,一个command与一个handler相关联。

 

通过PDE插件打开上次创建项目的plugin.xml文件,打开 Extensions 标签页,如图:

 

创建Command

点击Add按钮

引入commands扩展点,在扩展点上右键新建一个command:

设置command相关信息

其他的信息可以先不填写,如要了解更多,Google一下吧,command创建到这里基本上完成了。

创建menu

点击Add按钮

引入了一个menus扩展点,添加完扩展点后,在扩展点上面右键添加一个menuContribution

设置菜单类型及位置

设置菜单类型及位置时通过uri参数拼接进行配置,其中popup为弹出菜单类型,也可以为menu、toolbar分别为主菜单与工具栏菜单,org.eclipse.ui.popup.any 为菜单显示视图位置,这儿的配置为可以在任何视图显示;after=additions为菜单显示位置

在menuContribution右键添加一个command,将上面创建的command放置到菜单中:

配置command的相关信息

label:菜单显示的文字,如果没有则使用对应command的名字

id:为menu的唯一标识,

mnemonic:菜单的快捷键,按住Alt+F为本菜单的快捷键

icon:菜单的图标

tooltip:当鼠标移入菜单项上面时的提示文字

commandId:对应上面创建的command

 

创建Handler

handler对应的是行为的实际执行者,如:command对应java语言中的接口,handler对应实现类。

首先创建一个handler执行类,新建一个java类,继承自AbstractHandler:

package com.yunzaipiao.menu.handler;
 
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.dialogs.MessageDialog;
 
public class SampleHandler extends AbstractHandler {
 
public SampleHandler() {
// TODO Auto-generated constructor stub
}
 
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
MessageDialog.openInformation(
null,
"测试插件",
"测试右键弹出菜单成功!");
return null;
}
 
}

创建完实现类后,引入handler扩展点,将扩展点与改实现类关联起来。打开刚才添加menu与command标签页,点击Add:

新增一个handler,选中后配置信息:

commandId:对应上面创建的command

class:对应执行类,刚刚创建的执行类

 

 

运行一下,看看效果吧:

在插件项目上右键 Run as > Eclipse Application,在打开的新的eclipse 中随便找个地方,点击右键,出现菜单

点击菜单会弹出一个提示框

转载于:https://www.cnblogs.com/wuhh123/p/10337096.html

你可能感兴趣的文章
Myeclipse启动Tomcat服务器Address already in use: JVM_Bind
查看>>
svn服务器安装与配置
查看>>
deprecated conversion from string constant to ‘char*’
查看>>
SSH实战项目——在线商品拍卖网
查看>>
The Distribution File System
查看>>
Jvm原理剖析与调优之内存结构
查看>>
TortoiseSVN文件夹及文件图标不显示解决方法
查看>>
技术的价值--从实验到企业实施的关键性思想
查看>>
在VMWare中配置SQLServer2005集群 Step by Step(四)——集群安装
查看>>
实战:通过组策略为用户部署软件
查看>>
Fedora 17 安装视频
查看>>
基于zeromq的高性能分布式RPC框架Zerorpc 性能测试
查看>>
IL系列文章之二:Make Best Use of Our Tools
查看>>
Apache Ant使用过程的总结
查看>>
ES 相似度算法设置(续)
查看>>
oc73--NSArray使用
查看>>
Backbone.js入门学习资源
查看>>
类型转化:float -> DWORD
查看>>
Android自定义视图二:如何绘制内容
查看>>
Python天天美味(21) - httplib,smtplib
查看>>