Проблема JTextField с методом ActionEvent getModifiers - PullRequest
0 голосов
/ 13 сентября 2010

Когда я нажимаю клавишу ввода в JTextField и нажимаю одну клавишу-модификатор (например, Ctrl или Alt), ActionEvent не срабатывает, и поэтому я не могу проверить только что нажатую клавишу-модификатор.

Почему это ошибка?

1 Ответ

1 голос
/ 13 сентября 2010

Для виджетов Swing привязка клавиш должна выполняться через InputMap и ActionMap (хотя «устаревший» registerKeyboardAction проще). См. Привязки клавиатуры в Swing в старом соединении Swing и документы JComponent API.

Pluggable Look & Feel скорее мешает отображению входных событий на действия. То, что происходит с ActionEvent, зависит от текущего PL & F. Код приложения, непосредственно регистрирующий KeyListener, обычно не является хорошей идеей в Swing. Некоторые компоненты состоят из других меньших компонентов, то есть InputEvent s может передаваться или не передаваться. Входные события могут интерпретироваться для выполнения более чем одной операции. Вообще все это беспорядок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...