如何使用Extentions创建菜单

简介:
Eclipse版本:3.4

Eclipse可以在plugin.xml中创建菜单,可是网上资料不多,经过一番艰苦研究,终于发现了使用 Extentions 创建菜单的方法,步骤如下:
1、  创建菜单 Extentions
2、  org.eclipse.ui.menus 上单击右键,选择 New à menuContribution
3、  Location URI 处输入 menu:org.eclipse.ui.main.menu ,这是根菜单的标志;
4、  创建顶层菜单项
5、  输入菜单信息:
6、  创建子菜单:
7、  填写子菜单信息
8、  现在菜单项创建完毕,但是还不能显示,子菜单项需要与 Action 进行关联,菜单与工具条按钮才可以正常显示。
9、  增加一个 actionSets 扩展:
10、              输入 actionSet 的信息:
11、              actionSet 上单击右键创建 Action
12、              设置 Action 的参数:
主要参数说明:
Label :菜单项上显示的名称,该参数会覆盖对应 menu 扩展的 Label
menubarPath :设置本 Action 关联到哪个菜单项上,需要输入菜单项的全路径,菜单项之间以“ / ”分隔。
toolbarPath :其值为空时将不在工具栏上显示;其值可以是任意字符串,只要值相同则代表了工具栏上具有相似功能的一组按钮,与其它组用分割线隔开。
icon :设置菜单中和工具条上的图片。
class :该 Action 对应的类。
1. ActionSet 下扩展的 menu 的最后运行显示结果与编辑时的菜单顺序相反。
2.  ActionSet 下的 menu 可以扩展 separator groupmaker, 主要区别是扩展 separator ,则在各子菜单间以一分隔线隔开; groupmaker 则没。
3. Action 中的 menubarPath 属性(红色),其值必须以“ / ”分开,若置空,则不会在其菜单中显示,更甚的是当此 Action 所在的菜单只有这一个子菜单时,那么这整个菜单都不会显示。
4. Action 中的 toolbarpath 属性(蓝色) , 其值为空时将不在工具栏上显示;其值可以是任意字符串,只要值相同则代表了工具栏上具有相似功能的一组按钮,与其它组用分割线隔开。
5. Action 中的 class 属性(紫色) , 其值一般不要为空。
6.  作为在工具栏上显示的 Action ,只是在作为具有相似功能的按钮组内其顺序与编辑时的顺序相反,而其余整体顺序与编辑时相同。
13、              点击上图的 class 链接,创建 Action 类:
14、              Action 类的示例代码如下:

 

package  textviewer.actions;

 

import  java.io.File;

 

import  org.eclipse.jface.action.IAction;

import  org.eclipse.jface.viewers.ISelection;

import  org.eclipse.swt.SWT;

import  org.eclipse.swt.widgets.FileDialog;

import  org.eclipse.ui.IWorkbenchWindow;

import  org.eclipse.ui.IWorkbenchWindowActionDelegate;

 

public   class  FileOpen  implements  IWorkbenchWindowActionDelegate {

 

     private  IWorkbenchWindow  fWindow ;

 

     @Override

     public   void  dispose() {

 

    }

 

     @Override

     public   void  init(IWorkbenchWindow window) {

        fWindow  = window;

    }

 

     @Override

     public   void  run(IAction action) {

       queryFile();

    }

 

     @Override

     public   void  selectionChanged(IAction action, ISelection selection) {

        //  TODO  Auto-generated method stub

 

    }

 

     private  File queryFile() {

       FileDialog dialog=  new  FileDialog( fWindow .getShell(), SWT. OPEN );

       dialog.setText( "Open File" );  //$NON-NLS-1$

       String filters[] = { "*.txt" , "*.*" };

       dialog.setFilterExtensions(filters);

       String path= dialog.open();

        if  (path !=  null  && path.length() > 0)

            return   new  File(path);

        return   null ;

    }

}

 

15、              效果图如下:





本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/120422,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
JavaScript 前端开发 搜索推荐
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
37 0
|
4月前
|
Python
按钮组件的使用方法
在tkinter中,按钮组件的使用方法主要包括以下几个步骤: 1. 导入tkinter模块:
52 6
|
9月前
|
JavaScript
fastadmin如何自定义一个列表上的按钮。
fastadmin如何自定义一个列表上的按钮。
212 0
|
前端开发 C语言 C++
Python Tkinter Gui 窗口图标,标签,输入,单复选,文件导入,按钮,日志 等常用组件 基本使用
tkinter是什么? 我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口; Tk是一个图形库,支持多个操作系统,使用Tcl语言开发; Tk会调用操作系统提供的本地GUI接口,完成最终的GUI;
1121 0
Python Tkinter Gui 窗口图标,标签,输入,单复选,文件导入,按钮,日志 等常用组件 基本使用
|
开发工具 芯片 开发者
2.1工作空间及组件:组件界面操作演示|学习笔记
快速学习2.1工作空间及组件:组件界面操作演示
92 0
2.1工作空间及组件:组件界面操作演示|学习笔记
|
Python
Python 自动化-pywinauto遍历展示程序的所有菜单项,菜单栏menu_select()操作方法的使用
Python 自动化-pywinauto遍历展示程序的所有菜单项,菜单栏menu_select()操作方法的使用
581 0
Python 自动化-pywinauto遍历展示程序的所有菜单项,菜单栏menu_select()操作方法的使用
|
图形学
Unity3D初识---窗口和菜单基础介绍
目录 目录 窗口界面介绍: scene: Game : Hierarchy: Project: Inspector: 其他窗口: 菜单界面 File文件菜单 Edit编辑菜单 窗口界面介绍: scene: 在场景编译窗口中可以鼠标右键选中之后移动鼠标就可以自由的浏览场景,并选择物体对其可以进行操作,按下Q\W\E\R四个键时可以画面中的将会进行变换,第一个图标可以进行拖动、第二个图标可以对物体进行位移,第三个图标可以对物体进行旋转,第四个图标可以对物体进行放大缩小。
1242 0
|
C#
TSF自定义候选词列表界面
原文:TSF自定义候选词列表界面 概述 TSF(Text Service Framework),已经取代IMM(Input Method Manager),成为win8+系统的输入法框架。现在有个需求,触摸屏上要使用软键盘(虚拟键盘,已经有了)输入中文,当需要输入的时候自动弹出软键盘,系统自带的屏幕键盘不能满足需求。
1567 0
|
测试技术 图形学
Unity 3D编辑器扩展介绍、教程(一) —— 创建菜单项
Unity编辑器扩展教程 本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) ...
2501 0

热门文章

最新文章