关于JFace中的右键菜单Action类,ActgionGroup类,MenuManager类
Action类,ActionGroup类,MenuManager类介绍
SWT中菜单是Menu类,菜单项用MeauItem类来实现.但是在实际开发中,同一种功能会有多中表现形式,
例如:Eclipse中的"新建"功能,他会分别出现在主菜单,主工具栏,右键菜单里,
如果都是用MeanuItem来实现,就需要写三份代码,以后也要维护三份代码.当然也可以将时间处理
写成外部类来共享代码,但名称,图像以及一些其他的信息写成外部类来共享则不太方便.
JFace包中已经对以上问题提供了解决方案,JFace提供了一个Action类,
它将名称,图像,动作处理程序等集成在其中,这样就可以共享这些Action来形成菜单项,工具栏按钮等.
当然在底层最后用于Menu的还是MenuItem对象,将Action转化成MenuItem是由MenuManager(菜单管理器)来完成的.
MenuManager简化了菜单的创建,一旦生成了MenuManager对象,就可以通用于菜单栏,弹出菜单,工具栏下拉菜单.
另外.Action写成一个个的类会很凌乱.JFace又提供了一个ActionGroup类用于统一管理Action.
然后让外界程序通过ActionGroup来访问Action.当然,ActionGroup并非是使用Action所一定要的类.,只是用它会更好.
本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/4167776.html,如需转载请自行联系原作者
关于JFace中的右键菜单Action类,ActgionGroup类,MenuManager类相关推荐
- 在(CListView)列表视图中添加右键菜单的方法
使用弹出式菜单(PopMenu) 弹 出式菜单(PopMenu)大家都熟悉,在WIN98的桌面上单击鼠标右键弹出的菜单就是弹出式菜单.通常情况下,弹出式菜单在鼠标右键单击时弹出,当 然,也可以根据需要 ...
- WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法
WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 原文:WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 问题描 ...
- WPF中的右键菜单ContextMenu
WPF中的右键菜单主要是通过ContextMenu来实现,ContextMenu的使用有两种方式 一..在Resources中声明,在控件中使用. 1.在Resources中添加ContextMenu ...
- 实例-Vue中使用右键菜单之@xunleivue-context-menu组件的使用
实例-Vue中使用右键菜单之@xunlei/vue-context-menu组件的使用 npm地址--https://www.npmjs.com/package/@xunlei/vue-context ...
- vue中,右键菜单组件v-contextmenu的使用
vue中,右键菜单组件v-contextmenu的使用 1.效果 右键菜单之禁用和子菜单 2.流程 第一步:安包 npm install v-contextmenu --save-dev npm in ...
- vfp中treeview右键菜单_用卓语言程序把Sublime Text 3添加到和删除出右键菜单
用卓语言程序把Sublime Text 3添加到和删除出右键菜单 Sublime Text 是一款跨平台代码编辑器(Code Editor)软件.Sublime Text 3既可以编写代码还可以编辑文 ...
- easyui datagrid中添加右键菜单事件
//HTML中代码 <div id="menu" class="easyui-menu" style="width:150px;"& ...
- UnityWebPlayer使用(3) WinForm中屏蔽右键菜单
百度到的解决方案: 鼠标右键的BUG 1).3D模型基本操作都是鼠标右键按下以后,拖动鼠标可以旋转模型视角,但是WPF加载后的UnityWebPlayer控件存在一个BUG:右键菜单 ...
- linux右键没有创建新文件夹,将新建文档添加回Ubuntu 18.04中的右键菜单
当我最近转移到Ubuntu 18.04时,我注意到Nautilus的右键菜单中没有选项来创建一个空文本文件. 当然,我可以使用命令行快速创建新文档,甚至可以使用文本编辑器创建新文件,但这不是我想要的. ...
最新文章
- tnsping通oracle连不上,写正确了tnsnames文件却tnsping无法ping通
- OpenCV 3最新模块介绍
- 2015 计算机考研大纲,2015年考研计算机大纲详解:操作系统
- 破译手势在对话中的意义
- php中 param,php中bind_param()函数用法分析
- 智能运维监管系统终端_城市轨道交通关键设备智能运维系统初步建构
- 读入一个数列和N值,返回按优先级排序的N个数 满足...Python解法
- 《leetcode》first-missing-positive
- Spring Boot基础学习笔记16:项目打包部署
- apache php 503,宝塔linux面板 apache网站访问报错503 Service Unavailable解决
- linux fish颜色配置,如何在 Linux 中安装、配置和使用 Fish Shell?
- python 类 字典_python基础类型—字典
- Android心电图动画效果,手把手教你打造一个心电图效果View Android自定义View
- PRISM概率模型检测器初使用--骰子模型
- Zabbix 网页端监控工具
- 做sxy官网的一点经验
- js操作图片像素进行编辑
- 使用短信登录和注册的流程
- MEX and Increments
- python读取邮件标题_Python连载57- 邮件头和主题、解析邮件