2013-03-28 65 views
0

我有一個用SWT編寫的Eclipse插件項目。我添加了一個全球監聽器來收聽密鑰SWT.ARROW_LEFTSWT.ARROW_RIGHT。這是通過Display.getDefault().addFilter()方法完成的。這在大多數情況下都能正常工作。但是我在面板上有一組按鈕,當按鈕有焦點時,按下鍵SWT.ARROW_LEFTSWT.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

問題通過使用TransverseEvent並將doit字段設置爲false來解決。

相關問題