当前位置: 首页 > wzjs >正文

做淘宝banner的网站网上商城网站开发

做淘宝banner的网站,网上商城网站开发,做视频网站每部电影都要版权,个人站长做网站Eclipse 插件开发 3 菜单栏 1 增加菜单2 指定位置3 点击事件4 二级菜单 (静态)5 二级菜单 (动态) 位置locationURI备注菜单栏menu:org.eclipse.ui.main.menu添加到传统菜单工具栏toolbar:org.eclipse.ui.main.toolbar添加到工具栏 1 增加菜单 <?xml version"1.0&quo…

Eclipse 插件开发 3 菜单栏

  • 1 增加菜单
  • 2 指定位置
  • 3 点击事件
  • 4 二级菜单 (静态)
  • 5 二级菜单 (动态)

位置locationURI备注
菜单栏menu:org.eclipse.ui.main.menu添加到传统菜单
工具栏toolbar:org.eclipse.ui.main.toolbar添加到工具栏

1 增加菜单

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions"><menu id="com.xu.learn.menus.sampleMenu" label="一级菜单"><command commandId="com.xu.learn.commands.sampleCommand" id="com.xu.learn.menus.sampleCommand"></command></menu></menuContribution></extension></plugin>

在这里插入图片描述

2 指定位置

XML字段含义
extension.menuContributionlocationURI菜单栏位置 menu:org.eclipse.ui.main.menu?after=additions,如Window就是window
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=window"><menu id="com.xu.learn.menus.sampleMenu" label="一级菜单"><command commandId="com.xu.learn.commands.sampleCommand" id="com.xu.learn.menus.sampleCommand"></command></menu></menuContribution></extension></plugin>

在这里插入图片描述

3 点击事件

XML字段含义
extension.handlercommandId处理id
menu.commandcommandId处理id
menu.commandclass为处理类的路径
package com.xu.learn.handlers;import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.jface.dialogs.MessageDialog;public class SampleHandler extends AbstractHandler {@Overridepublic Object execute(ExecutionEvent event) throws ExecutionException {IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);MessageDialog.openInformation(window.getShell(),"Learn","点击菜单弹框");return null;}
}
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions"><menu id="com.xu.learn.menus.sampleMenu" label="一级菜单"><command commandId="com.xu.learn.commands.sampleCommand" id="com.xu.learn.menus.sampleCommand"></command></menu></menuContribution></extension><extension point="org.eclipse.ui.handlers"><handler class="com.xu.learn.handlers.SampleHandler" commandId="com.xu.learn.commands.sampleCommand"></handler></extension></plugin>

在这里插入图片描述

4 二级菜单 (静态)

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><!-- 添加顶部菜单 --><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu"><!-- 添加顶部 一级菜单 --><menu id="com.xu.test.menus.menu1" label="菜单1"><!-- 一级菜单 下增加 二级菜单1 --><command commandId="com.xu.test.commands.submenu1Command" icon="icons/sample.png" id="com.xu.test.menus.submenu1" label="二级菜单1"></command><!-- 一级菜单 下增加 二级菜单2 --><command commandId="com.xu.test.commands.submenu2Command" icon="icons/sample.png" id="com.xu.test.menus.submenu2" label="二级菜单2"></command><!-- 一级菜单 下增加 二级菜单3 --><command commandId="com.xu.test.commands.submenu3Command" icon="icons/sample.png" id="com.xu.test.menus.submenu3" label="二级菜单3"></command><!-- 一级菜单 下增加 二级菜单3 --><menu id="com.xu.test.menus.submenu4" label="二级菜单4"><!-- 二级级菜单 下增加 三级菜单1 --><command commandId="com.xu.test.commands.submenu4_1Command" id="com.xu.test.menus.submenu4_1" label="三级菜单1"></command></menu></menu></menuContribution></extension><!-- 菜单点击命令 --><extension point="org.eclipse.ui.commands"><!-- 二级菜单1 命令 --><command defaultHandler="com.xu.handlers.HelloHandler" id="com.xu.test.commands.submenu1Command" name="二级菜单1命令"></command><!-- 二级菜单2 命令 --><command defaultHandler="com.xu.handlers.SampleHandler" id="com.xu.test.commands.submenu2Command" name="二级菜单2命令"></command><!-- 二级菜单3 命令 --><command defaultHandler="com.xu.handlers.HelloHandler" id="com.xu.test.commands.submen3Command" name="二级菜单3命令"></command><!-- 三级菜单1 命令 --><command defaultHandler="com.xu.handlers.HelloHandler" id="com.xu.test.commands.submenu4_1Command" name="三级菜单1命令"></command></extension></plugin>

在这里插入图片描述

5 二级菜单 (动态)

方式场景实现
继承 CompoundContributionItem + dynamic动态生成菜单项推荐
反复修改 plugin.xml麻烦、不灵活plugin.xml 是静态配置
package com.xu.dynamic;import java.util.ArrayList;
import java.util.List;import org.eclipse.jface.action.ContributionItem;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.ui.actions.CompoundContributionItem;public class DynamicSubMenu extends CompoundContributionItem {@Overrideprotected IContributionItem[] getContributionItems() {List<IContributionItem> items = new ArrayList<>();// 示例:根据某些条件动态生成7个子项for (int i = 1; i <= 7; i++) {final int index = i;items.add(new ContributionItem() {@Overridepublic void fill(Menu menu, int indexInMenu) {MenuItem menuItem = new MenuItem(menu, org.eclipse.swt.SWT.PUSH, indexInMenu);menuItem.setText("动态菜单项 " + index);menuItem.addListener(org.eclipse.swt.SWT.Selection, e -> {System.out.println("你点击了:动态菜单项 " + index);// 你可以在这里调用命令或其他逻辑});}});}return items.toArray(new IContributionItem[0]);}
}
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><!-- 添加顶部菜单 --><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu"><!-- 添加顶部 一级菜单 --><menu id="com.xu.test.menus.menu1" label="菜单1"><!-- 一级菜单 下增加 二级菜单1 --><command commandId="com.xu.test.commands.submenu1Command" icon="icons/sample.png" id="com.xu.test.menus.submenu1" label="二级菜单1"></command><!-- 一级菜单 下增加 二级菜单2 --><command commandId="com.xu.test.commands.submenu2Command" icon="icons/sample.png" id="com.xu.test.menus.submenu2" label="二级菜单2"></command><!-- 一级菜单 下增加 二级菜单3 --><command commandId="com.xu.test.commands.submenu3Command" icon="icons/sample.png" id="com.xu.test.menus.submenu3" label="二级菜单3"></command><!-- 一级菜单 下增加 二级菜单3 --><menu id="com.xu.test.menus.submenu4" label="二级菜单4"><!-- 动态生成三级菜单 --><dynamic class="com.xu.dynamic.DynamicSubMenu" id="com.xu.test.menus.dynamicSubmenu"/></menu></menu></menuContribution></extension><!-- 菜单点击命令 --><extension point="org.eclipse.ui.commands"><!-- 二级菜单1 命令 --><command defaultHandler="com.xu.view.handlers.HelloHandler" id="com.xu.test.commands.submenu1Command" name="二级菜单1命令"></command><!-- 二级菜单2 命令 --><command defaultHandler="com.xu.view.handlers.SampleHandler" id="com.xu.test.commands.submenu2Command" name="二级菜单2命令"></command><!-- 二级菜单3 命令 --><command defaultHandler="com.xu.view.handlers.HelloHandler" id="com.xu.test.commands.submen3Command" name="二级菜单3命令"></command><!-- 三级菜单1 命令 --><command defaultHandler="com.xu.view.handlers.HelloHandler" id="com.xu.test.commands.submenu4_1Command" name="三级菜单1命令"></command></extension></plugin>

在这里插入图片描述

http://www.dtcms.com/wzjs/471465.html

相关文章:

  • python怎么搭建网站站长之家ip地址查询
  • 苏州做网站的单位如何建立一个自己的网站啊
  • 网站建设洛阳seo词条
  • 织梦手机网站模板安装seo怎么推排名
  • 温州做网站掌熊号全媒体广告投放平台
  • 教学网站开发应用指导方案搜索网站排行
  • 郑州网站建设公司制作定制百度收录查询方法
  • 自己网站如何做关键词公司官网制作多少钱
  • 合肥高新城创建设投资有限公司网站房管局备案查询网站
  • 网站策划的知识站长之家
  • 龙华三网合一网站建设seo在线短视频发布页运营
  • 青岛开发区网站建设服务跟我学seo
  • wordpress 公众号登录seo排名影响因素主要有
  • 公司建设网站网络营销成功案例有哪些
  • ecshop 网站首页不显示怎么办苹果cms永久免费建站程序
  • 做1个自己的贷款网站新浪疫情实时数据
  • 建设网站包括哪些费用网络营销名词解释答案
  • wordpress打包成appseo技术外包 乐云践新专家
  • 那些网站专门做游戏辅助的拉新app推广接单平台
  • 网站制作应该注意到的问题帮人推广注册app的平台
  • wordpress微信注册登录南京seo公司
  • 什么网站专做韩国美妆批发的免费网站收录入口
  • 做房产网站有哪些怎么在百度上发布个人文章
  • 东营两学一做网站软文推广公司
  • 做球服的网站有哪些长沙疫情最新情况
  • 长沙招聘网站网店怎么推广和宣传
  • 天津微信网站建设廊坊seo外包公司费用
  • 青阳网站建设日本粉色iphone
  • 西安企业征信报告去哪里打西安seo引擎搜索优化
  • 彩票网站建设成本app开发定制