0

I am creating an Eclipse plugin and using the SWT popup menu (context menu) for one of the controls in plugin. The context menu item works, but the accelerator (shortcut) that I set for the menu item has no effect and it does not work. I create the menuitem like this:

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

Note that the shortcut problem occurs for the POP_UP menu, not the BAR menu item.

4

1 回答 1

0

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

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

这里那里的更多参考资料。

编辑:

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

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

于 2013-08-15T22:05:47.927 回答