Я написал пользовательский интерфейс SWT, основной функцией которого является отображение текста в элементе управления StyledText. Я хочу добавить обработчик для Ctrl + F , чтобы при нажатии этого ярлыка фокус устанавливался на поле поиска. Я пробовал использовать следующий код для обнаружения нажатия клавиш.
sWindow = new Shell();
...
sWindow.getDisplay().addFilter(SWT.KeyDown, new Listener()
{
@Override
public void handleEvent(Event e)
{
System.out.println("Filter-ctrl: " + SWT.CTRL);
System.out.println("Filter-mask: " + e.stateMask);
System.out.println("Filter-char: " + e.character);
}
});
Я ожидал, что когда я нажму Ctrl + f , я увижу следующий результат:
Filter-ctrl: 262144
Filter-mask: 262144
Filter-char: f
Однако в На практике я действительно вижу следующее.
Filter-ctrl: 262144
Filter-mask: 262144
Filter-char: <unprintable char - displayed as a box in eclipse console>
У меня два вопроса: