我的應用程序我需要空間鍵來調用獨立於焦點小部件的函數,無論在應用程序中的任何地方,但只有當相應的選項卡是打開的。我發現一個可以添加一個過濾器來顯示,這樣的:SWT全球KeyListener按鈕焦點問題
getShell().getDisplay().addFilter(SWT.KeyDown, new Listener() {
public void handleEvent(Event arg0) {
if(arg0.character == 32) { /**SPACE*/
if(mainTabs.getSelection().equals(analyseSoundFilesTab)) {
soundController.playButtonClickHandler();
}
}
}
});
這工作正常的大部分時間,但如果我給一個按鈕,通過「標籤」或「Shift標籤」,重點公司有點奇怪 - 空格鍵會激活一個「按鈕按下」,就像用鼠標單擊按鈕一樣。我現在有點卡住,我不知道如何避免這... 對於按鈕,我已經實現了一個SelectionListener。
問候。
爲了清楚我想要什麼:也許你知道CoolEdit工具。他們在空格上有「播放文件」功能,我的廚師也希望這樣。你是對的,它會混淆標準的方式。 :/ – InsertNickHere 2010-08-13 11:05:24