KeyListener или TraverseListener в меню SWT - PullRequest
1 голос
/ 10 октября 2009

Я хотел бы иметь возможность обнаруживать ввод с клавиатуры (а именно клавишу TAB), когда открыто меню SWT, но, похоже, не транслируется никаких событий, когда слушатели добавляются с помощью метода addListener нет методов addKeyListener или addTraverseListener.

Я также пытался добавить слушателей к элементу управления, к которому добавляется меню (это всплывающее меню), а также к оболочке, но события ключа также не попадают в эти объекты.

Похоже, меню - это контроль уровня ОС, который поглощает события клавиатуры. Кто-нибудь нашел способ получить нажатия клавиш из всплывающего меню? Или это единственный вариант сделать свое собственное всплывающее меню не из ОС?

1 Ответ

0 голосов
/ 16 октября 2009

Вы правы, что SWT-меню является родным меню оконной системы. Я не уверен, что вы подразумеваете под глаголом "траверс" в этом контексте. Вы имеете в виду «сумерки для возможного выбора»? Я считаю, что в SWT это называется «постановка на охрану», и вы действительно можете добавить слушателей для событий постановки на охрану. Смотрите этот фрагмент .

Если я полностью неправильно понял ваш вопрос, то дайте мне знать в комментарии, и я удалю.

...