"Eclipse命令教程" 在Eclipse RCP(Rich Client Platform)插件开发中,命令(Command)是一个至关重要的概念,它允许开发者定义和管理用户界面中的操作行为。命令是抽象的,不涉及具体的实现细节,而是通过命令处理器(Handler)来指定其执行逻辑。本文档主要介绍了如何在Eclipse中创建和使用命令,包括命令的定义、处理器的实现、以及在菜单、工具栏和上下文菜单中的显示和绑定。 首先,定义一个命令需要在扩展点"org.eclipse.ui.commands"中进行。这通常涉及到设置命令的ID、名称、类别等元数据,以便系统能够识别和处理。命令定义了用户界面中一个可触发的动作,例如“关闭”或“保存”等。 接着,创建命令处理器是实现命令实际功能的关键步骤。命令处理器需实现`org.eclipse.core.commands.IHandler`接口,通常可以通过继承`org.eclipse.core.commands.AbstractHandler`简化实现。这个接口包含的方法如`isEnabled()`用于判断命令是否可用,`isHandled()`决定处理器是否能处理当前命令,而`execute()`则是执行命令的核心代码。 为了确保命令在正确的时间和条件下被触发,处理器可以设置条件表达式(activeWhen),这是一种核心表达式或者自定义表达式,它们可以基于当前的工作环境来确定处理器的活动状态。如果存在多个处理器且没有明确的活动条件,那么命令可能会处于不可用状态。 在定义完命令和处理器后,接下来就是将它们与用户界面元素关联起来。这通常是通过Location URI完成的,Location URI指定了命令要在菜单、工具栏或上下文菜单中的位置。例如,将命令添加到文件菜单,Location URI可能是`menu:org.eclipse.ui.main.menu?after=additions`,其中`menu:org.eclipse.ui.main.menu`表示主菜单,`?after=additions`表示命令将插入在标记为`additions`的菜单项之后。 在Eclipse RCP应用的开发中,通常会先创建一个基本的RCP项目,并在plugin.xml文件中进行扩展配置。通过编辑此文件,可以添加新的命令、菜单项和它们的关联。例如,创建一个用于退出应用的命令,可能需要定义一个`IWorkbenchAction`,并在`execute()`方法中调用`PlatformUI.getWorkbench().getActiveWorkbenchWindow().close();`来实现退出操作。 最后,别忘了在plugin.xml中注册命令处理器,这样Eclipse才能在运行时找到并使用它们。同时,可以为命令绑定快捷键,使用户能够通过键盘快速触发命令,提高工作效率。 Eclipse中的命令机制提供了强大的用户界面交互能力,使得开发者能够灵活地定义和控制RCP应用的行为。通过熟练掌握命令的创建、处理器的实现以及界面分配,可以构建出功能丰富且用户体验良好的Eclipse插件或应用。
![](https://csdnimg.cn/release/download_crawler_static/2465171/bg5.jpg)
剩余22页未读,继续阅读
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/79a317a66f6c49ae8a56bdb063ff9b76_wwwroot163.jpg!1)
- 粉丝: 24
- 资源: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)