для моего приложения Мне нужен пробел, чтобы вызвать функцию, независимую от сфокусированного виджета, везде в приложении, но только если соответствующая вкладка открыта. Я обнаружил, что один может добавить фильтр к дисплею, как это:SWT Global KeyListener Button Задача фокуса
getShell().getDisplay().addFilter(SWT.KeyDown, new Listener() {
public void handleEvent(Event arg0) {
if(arg0.character == 32) { /**SPACE*/
if(mainTabs.getSelection().equals(analyseSoundFilesTab)) {
soundController.playButtonClickHandler();
}
}
}
});
Это отлично работает большую часть времени, но если я даю кнопку фокус через вкладку «» или «вкладки сдвига», его Любопытный странный - пробел будет активировать кнопку «нажата», как если бы один щелкнул кнопку мышью. Я немного застрял сейчас, я не знаю, как этого избежать ... Для кнопок я реализовал SelectionListener.
С уважением.
Чтобы уточнить, что я хочу: Возможно, вы знаете инструмент CoolEdit. У них есть «игровой файл» functon на пробеле, и мой шеф-повар также хочет его таким образом. Вы правы, он будет смешивать стандартный способ. : / – InsertNickHere