![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| access |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Доброго времени всем.
Задача в общем-то простая: есть форма, нужно отследить нажатие клавиши F2. Решение мне известно:
Работает, конечно, но мне не нравится, что создаётся "лишний" ActionListener. У меня форма и так implements от него. Как заюзать уже имеющийся?
Внутри делаю так:
Ну и сам вопрос: как внутри actionPerformed определить, что событие пришло от F2? Спасибо. PS: если на форуме есть ответ - намекните, но не нашёл - все решения вроде как с созданием листенера... |
||||||
|
|||||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 15 Всего: 27 |
Посмотрите классы
InputMap ActionMap ну и соответственно JComponent#getActionMap(), JComponent#getInputMap(int condition) -------------------- ![]() |
|||
|
||||
| access |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
сделал так:
Если тыкнуть куда-нибудь, например в JTable, то F2 не отлавливается (хотя изначально срабатывает, если нажать сразу при отображении формы). Пробовал все три варианта JComponent.WHEN_IN_FOCUSED_WINDOW JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT JComponent.WHEN_FOCUSED - бесполезно. Что интересно, если заменить на F3, то всё нормально работает. Но нужно F2 (так реализовано в прежней программе, чтобы не переучивались). Есть у кого какие идеи? |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |