SWT弹出菜单快捷方式无效

时间:2013-08-15 22:01:16

标签: java eclipse-plugin swt

我正在为插件中的一个控件创建一个Eclipse插件并使用SWT弹出菜单(上下文菜单)。上下文菜单项有效,但我为菜单项设置的加速器(快捷方式)无效,但不起作用。我创建了这样的menuitem:

MenuItem parent = new Menu(getShell(), SWT.POP_UP);
MenuItem menuItem = new MenuItem(parent, SWT.PUSH);
menuItem.setText("Click me");
menuItem.setAccelerator( SWT.CTRL+ 'F');

请注意POP_UP菜单的快捷方式问题,而不是BAR菜单项。

1 个答案:

答案 0 :(得分:0)

尝试item.setAccelerator(SWT.MOD1 + 'A');

MOD1,MOD2 .. MOD4是键盘和/或鼠标事件掩码,表示在生成事件时键盘上已按下MOD1键。

更多参考herethere

修改

如果您正在开发Eclipse插件,并且您将菜单放在View上,那么Eclipse Platform快捷方式系统可能会干扰您的SWT组件的加速器。

我建议您重构代码,以便使用Eclipse提供的快捷方式扩展