我有一个用SWT编写的Eclipse插件项目。我添加了一个全局侦听器来收听键SWT.ARROW_LEFT
和SWT.ARROW_RIGHT
。这是通过Display.getDefault().addFilter()
方法完成的。这在大多数情况下都可以正常工作。但是我在面板中有一组按钮,当按钮有焦点时,按下SWT.ARROW_LEFT
和SWT.ARROW_RIGHT
键不会触发相应的事件,它只是在这组键之间移动。有没有人知道如何克服这个问题?感谢。
Display.getDefault().addFilter(SWT.ALL, new Listener() {
@Override
public void handleEvent(Event event) {
if ((event.keyCode == SWT.ARROW_LEFT) || (event.keyCode == SWT.ARROW_RIGHT)) {
}
}
});
答案 0 :(得分:0)
使用TransverseEvent解决问题并将doit字段设置为false。