簡體   English   中英

Display.getDefault()。addFilter()不適用於SWT.ARROW_LEFT和SWT.ARROW_RIGHT

[英]Display.getDefault().addFilter() does not work as intended for SWT.ARROW_LEFT and SWT.ARROW_RIGHT

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

通過使用TransverseEvent並將問題字段設置為false可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM