eclipse 插件扩展新建java页面_Eclipse插件开发——添加菜单,工具条

Eclipse简介和插件开发:

添加菜单(menubar)项与添加工具条(toolbar)按钮的过程几乎相同。首先声明一个扩展(相同的扩展org.eclipse.ui.actionSets)、用特定的标记(相同或不同的标记都可以)来扩充它,并编写操作类(相同的类)。特定的标记是指添加菜单项或工具条的位置,建议让工具条和菜单条ID标志位置保持一致性。下面是菜单项的扩展XML代码(没有相应的工具条按钮):

point="org.eclipse.ui.actionSets">

label="Sample Action Set"

visible="true"

id="cn.guoyibj.sample.extendmenu.actionSet">

label="&Sample Action"

icon="icons/sample.gif"

class="cn.guoyibj.sample.extendmenu.actions.SampleAction"

tooltip="Hello, Eclipse world"

menubarPath="file/new.ext"

id="cn.guoyibj.sample.extendmenu.actions.SampleAction">

代码1

运行效果如下图所示:

dd06a1abc3fb84da465ff4eff32374f6.gif

menubar.gif (10.63 KB, 下载次数: 52)

2009-10-16 21:30 上传

图1下面是一个组合了菜单项和工具条按钮的例子:

point="org.eclipse.ui.actionSets">

label="Sample Action Set"

visible="true"

id="cn.guoyibj.sample.extendmenu.actionSet">

label="&Sample Action"

icon="icons/sample.gif"

class="cn.guoyibj.sample.extendmenu.actions.SampleAction"

tooltip="Hello, Eclipse world"

menubarPath="file/new.ext"toolbarPath="org.eclipse.ui.workbench.file/new.ext"               id="cn.guoyibj.sample.extendmenu.actions.SampleAction">

代码2我们可以看到代码2比代码1只多了一行,我用粗体标识出来了。运行效果除了添加了图1中的菜单,还添加了如下图所示的工具条按钮:

dd06a1abc3fb84da465ff4eff32374f6.gif

toolbar.gif (7.77 KB, 下载次数: 18)

2009-10-16 21:30 上传

图2

上面例子中的菜单和工具条的操作类继承IWorkbenchWindowActionDelegate,如果要实现分层工具条,操作类需要实现IWorkbenchWindowPulldownDelegate2接口。

下面是一个带子菜单和分层工具条的例子:

point="org.eclipse.ui.actionSets">

label="Copy File Action"

visible="true"

id="com.ibm.designer.extensibility.copyfile.actionSet">

label="Copy File"

id="copyFileMenu">

name="copyFileGroup">

label="My Import Action"

icon="icons/import.gif"

class="cn.guoyibj.sample.extendmenu.actions.SubClassA"

tooltip="My Import..."

menubarPath="copyFileMenu/copyFileGroup"

toolbarPath="copyFileGroup"

id="cn.guoyibj.sample.extendmenu.actions.SubClassA">

label="My Export Action"

icon="icons/export.gif"

class="cn.guoyibj.sample.extendmenu.actions.SubClassB"

tooltip="My Export..."

menubarPath="copyFileMenu/copyFileGroup"

toolbarPath="copyFileGroup"

retarget="false"

style="pulldown"

id="cn.guoyibj.sample.extendmenu.actions.SubClassB">

代码3

运行效果图如下:

dd06a1abc3fb84da465ff4eff32374f6.gif

toolbar2.gif (3.22 KB, 下载次数: 22)

2009-10-16 21:55 上传

图3

dd06a1abc3fb84da465ff4eff32374f6.gif

menubar2.gif (5.91 KB, 下载次数: 19)

2009-10-16 21:55 上传

图4

我们修改一下菜单条的位置:

point="org.eclipse.ui.actionSets">

label="Copy File Action"

visible="true"

id="com.ibm.designer.extensibility.copyfile.actionSet">

label="My Import Action"

icon="icons/import.gif"

class="cn.guoyibj.sample.extendmenu.actions.SubClassA"

tooltip="My Import..."

menubarPath="file/import.ext"

id="cn.guoyibj.sample.extendmenu.actions.SubClassA">

label="My Export Action"

icon="icons/export.gif"

class="cn.guoyibj.sample.extendmenu.actions.SubClassB"

tooltip="My Export..."

menubarPath="file/import.ext"

retarget="false"

style="pulldown"

id="cn.guoyibj.sample.extendmenu.actions.SubClassB">

代码4

效果图如下所示:

dd06a1abc3fb84da465ff4eff32374f6.gif

menubar3.gif (17.52 KB, 下载次数: 27)

2009-10-16 21:55 上传

图5

[本帖最后由 guoyibj 于 2009-10-16 22:45 编辑]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值