给RCP系统添加全局快捷键
2010-04-08 16:49
316 查看
文章转自:http://www.blogjava.net/chengang/archive/2006/04/28/43873.html
一个RCP系统,给它添加一个象Eclipse中Ctrl+Shift+O一样的全局快捷键,怎么加?
参考了RCP的
Email项目示例,给我RCP项目中MonitorAction(显示一个监视器的命令)添加一个快捷键Ctrl+1。简单把添加的过程概述如下:
1、
首先在plugin.xml中添加两个扩展点如下
<
extension
point
="org.eclipse.ui.bindings"
>
<
key
commandId
="org.eclipse.ui.file.exit"
schemeId
="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence
="CTRL+X"
/>
<
key
commandId
="adminconsole.monitor"
schemeId
="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence
="CTRL+1"
/>
</
extension
>
<
extension
point
="org.eclipse.ui.commands"
>
<
category
id
="adminconsole.perspective"
name
="Perspective"
/>
<
command
categoryId
="adminconsole.perspective"
id
="adminconsole.monitor"
name
="Open Monitor Perspective"
/>
</
extension
>
说明:
。org.eclipse.ui.file.exit是
另一个退出系统命令,是复用了Eclipse本身的那个,它和本例无关。
。commandId要求唯一
。cmmands扩展点的
category是一个组,估计不要也可以,最后还是加上吧。
。bindings扩展点中的commandId对应于cmmands扩展点中的
id
2、创建一个类,专门保存所有commandId
public
interface
ICommandIds {
public
static
final
String CMD_MONITOR
=
"
adminconsole.monitor
"
;
}
3、创建Action类,在构造函数里用两个方法注册一下
private
static
class
MonitorAction
extends
Action {
public
MonitorAction() {
setText(
"
监
视
"
);
//
The id is used to refer to the action in a menu or toolbar
setId(ICommandIds.CMD_MONITOR);
//
Associate the action with a pre-defined command, to allow key bindings.
setActionDefinitionId(ICommandIds.CMD_MONITOR);
}
}
4、在ApplicationActionBarAdvisor的makeActions方法,给monitorAction对象
加上这样一句
register(monitorAction);
注意:如果你没有在plugin.xml和makeActions做上面讲过的设置,加上这一句将可能导致
你的RCP系统无法启动。
一个RCP系统,给它添加一个象Eclipse中Ctrl+Shift+O一样的全局快捷键,怎么加?
参考了RCP的
Email项目示例,给我RCP项目中MonitorAction(显示一个监视器的命令)添加一个快捷键Ctrl+1。简单把添加的过程概述如下:
1、
首先在plugin.xml中添加两个扩展点如下
<
extension
point
="org.eclipse.ui.bindings"
>
<
key
commandId
="org.eclipse.ui.file.exit"
schemeId
="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence
="CTRL+X"
/>
<
key
commandId
="adminconsole.monitor"
schemeId
="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence
="CTRL+1"
/>
</
extension
>
<
extension
point
="org.eclipse.ui.commands"
>
<
category
id
="adminconsole.perspective"
name
="Perspective"
/>
<
command
categoryId
="adminconsole.perspective"
id
="adminconsole.monitor"
name
="Open Monitor Perspective"
/>
</
extension
>
说明:
。org.eclipse.ui.file.exit是
另一个退出系统命令,是复用了Eclipse本身的那个,它和本例无关。
。commandId要求唯一
。cmmands扩展点的
category是一个组,估计不要也可以,最后还是加上吧。
。bindings扩展点中的commandId对应于cmmands扩展点中的
id
2、创建一个类,专门保存所有commandId
public
interface
ICommandIds {
public
static
final
String CMD_MONITOR
=
"
adminconsole.monitor
"
;
}
3、创建Action类,在构造函数里用两个方法注册一下
private
static
class
MonitorAction
extends
Action {
public
MonitorAction() {
setText(
"
监
视
"
);
//
The id is used to refer to the action in a menu or toolbar
setId(ICommandIds.CMD_MONITOR);
//
Associate the action with a pre-defined command, to allow key bindings.
setActionDefinitionId(ICommandIds.CMD_MONITOR);
}
}
4、在ApplicationActionBarAdvisor的makeActions方法,给monitorAction对象
加上这样一句
register(monitorAction);
注意:如果你没有在plugin.xml和makeActions做上面讲过的设置,加上这一句将可能导致
你的RCP系统无法启动。
相关文章推荐
- 给RCP系统添加全局快捷键
- 给rcp系统添加全局快捷键
- 给RCP系统添加全局快捷键
- 给RCP系统添加全局快捷键
- Android系统添加全局快捷键的方法
- Android系统添加全局快捷键的方法 .
- C#_注册系统全局快捷键
- rcp添加帮助系统
- RCP 添加快捷键
- C#实现全局快捷键(系统热键)响应(转)
- RCP 添加快捷键
- 为RCP添加帮助系统
- 为RCP添加帮助系统
- 给C# Winform添加全局快捷键(老板键)
- 给RCP系统添加全局快捷键
- 为RCP添加帮助系统
- Qt/PyQt中使用系统全局的快捷键
- RCP 添加快捷键
- C#实现全局快捷键(系统热键)响应(转)
- kali linux 添加系统快捷键