使用快捷键在 SWT Table 中添加 SWT 上下文菜单
Add SWT context menu in SWT Table with Shortcut Keys
我正在尝试使用键名在 SWT Table 上添加上下文菜单。
上下文菜单正常出现,但我无法设置键名,因为我们可以在菜单贡献中将其称为“序列”。
我没有使用 Menu Contribution,而是使用 MenuItem。
这是我的代码。
final MenuItem item = new MenuItem(menu, SWT.PUSH);
item.setText(save);
item.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
//saveFunction
}
});
这是可行的,但我想添加键名称和菜单名称,如下所示:
任何人都可以帮助我,因为我不能使用 MenuContribution。
您可以使用MenuItem.setAccelerator
设置菜单项的按键:
item.setAccelerator(SWT.MOD1 | 'S');
请注意,这仅在显示菜单时有效,如果未显示菜单,则需要使用按键侦听器。我在这里使用了 SWT.MOD1
修饰符,而不是 SWT.CTRL
,这样在 macOS 上,键就是正确的 ⌘+S。
在不自动添加加速器文本的平台上,您可以使用以下方式设置文本:
String acceleratorText = Action.convertAccelerator(SWT.MOD1 | 'S');
item.setText(save + '\t' + acceleratorText);
这里Action
是org.eclipse.jface.action.Action
.
在 Eclipse 插件中,您可能应该使用可重定向操作来与标准保存代码集成。
我正在尝试使用键名在 SWT Table 上添加上下文菜单。 上下文菜单正常出现,但我无法设置键名,因为我们可以在菜单贡献中将其称为“序列”。 我没有使用 Menu Contribution,而是使用 MenuItem。
这是我的代码。
final MenuItem item = new MenuItem(menu, SWT.PUSH);
item.setText(save);
item.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
//saveFunction
}
});
这是可行的,但我想添加键名称和菜单名称,如下所示:
任何人都可以帮助我,因为我不能使用 MenuContribution。
您可以使用MenuItem.setAccelerator
设置菜单项的按键:
item.setAccelerator(SWT.MOD1 | 'S');
请注意,这仅在显示菜单时有效,如果未显示菜单,则需要使用按键侦听器。我在这里使用了 SWT.MOD1
修饰符,而不是 SWT.CTRL
,这样在 macOS 上,键就是正确的 ⌘+S。
在不自动添加加速器文本的平台上,您可以使用以下方式设置文本:
String acceleratorText = Action.convertAccelerator(SWT.MOD1 | 'S');
item.setText(save + '\t' + acceleratorText);
这里Action
是org.eclipse.jface.action.Action
.
在 Eclipse 插件中,您可能应该使用可重定向操作来与标准保存代码集成。