0

我有一个用 SWT 编写的 Eclipse 插件项目。我添加了一个全局监听器来监听键SWT.ARROW_LEFTSWT.ARROW_RIGHT. 这是通过Display.getDefault().addFilter()方法完成的。这在大多数情况下都可以正常工作。但是我在面板中有一组按钮,当按钮具有焦点时,按SWT.ARROW_LEFTandSWT.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)) {
      }
   }
});
4

1 回答 1

0

通过使用 TransverseEvent 解决问题并将 doit 字段设置为 false。

于 2013-03-28T13:50:30.733 回答