我的RCP / SWT应用程序中有以下复合层次结构:
这些按钮定义了助记符,但是不是由Alt + S,Alt + P等触发的。我假设问题是焦点位于顶部复合材料上,而不是复合材料上的复合材料。按钮,但我无法找到关于助记符如何正常工作的任何描述......
我的假设是否正确?如果是,我怎样才能重定向"从一个复合材料到另一个复合材料的按键?
我尝试了以下操作,但是从不输入监听器(editorParent和buttonBar是上面层次结构中提到的两个复合材料):
editorParent.addKeyListener(new KeyListener() {
@Override
public void keyReleased(KeyEvent e) {
Event event = new Event();
event.keyCode = e.keyCode;
event.type = SWT.KeyUp;
buttonBar.getComposite().getDisplay().post(event);
}
@Override
public void keyPressed(KeyEvent e) {
Event event = new Event();
event.keyCode = e.keyCode;
event.type = SWT.KeyDown;
buttonBar.getComposite().getDisplay().post(event);
}
});
编辑: 通过将按钮的文本设置为& Save,& Print等来定义助记符。我知道它们有效,因为当我用鼠标点击其中一个按钮时,请在保存按钮上说,然后我可以使用Alt + P进行打印,直到我返回编辑数据为止。
答案 0 :(得分:0)
如果您使用编辑器或视图来创建表单。它有一些已定义的方法,例如lock(key)
/*make stuff*/
unlock(key)
适用于ctrl + s。
您可以将代码放在其中以保存或调用保存数据的操作。
如果您希望自己的快捷方式在eclipse工作台中运行。然后在eclipse插件中创建一个命令。