zoukankan      html  css  js  c++  java
  • eclipse 插件编写(二)

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

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

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

    image

     

    创建Command

    点击Add按钮

    image

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

    image

    设置command相关信息

    image

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

    创建menu

    点击Add按钮

    image

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

    image

    设置菜单类型及位置

    image

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

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

    image

    配置command的相关信息

    image

    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:

    image

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

    image

    commandId:对应上面创建的command

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

    运行一下,看看效果吧:

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

    image

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

    image

  • 相关阅读:
    Best Time to Buy and Sell Stock
    Remove Nth Node From End of List
    Unique Paths
    Swap Nodes in Pairs
    Convert Sorted Array to Binary Search Tree
    Populating Next Right Pointers in Each Node
    Maximum Subarray
    Climbing Stairs
    Unique Binary Search Trees
    Remove Duplicates from Sorted Array
  • 原文地址:https://www.cnblogs.com/wuhh123/p/10337096.html
Copyright © 2011-2022 走看看