![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| coderinside |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
Подскажите как сделать так, чтобы модальный диалог закрывался по нажатию кнопки ESCAPE.
|
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 6 Всего: 31 |
-------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| coderinside |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
Да, но это будет работать только для компонента на котором установлен фокус ввода. А как сделать чтобы отслеживалось нажатие ESC для диалога в целом. Чтобы без разницы было что сейчас в фокусе?
|
|||
|
||||
| _Michael |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 23.6.2007 Где: з полонини Репутация: 1 Всего: 6 |
coderinside не вижу никаких проблем
Только не забудь в конструкторе вписать this.addKeyListener(this); иначе твой диалог никаких клавиш слушать не будет Только-что испробовал, етот вариант проходит когда никаких контролов в диалоге нет. Если ж оные имеются, тогда наверное надо на каждый контрол повешать один и тот же KeyListener, который бы при нажатии ESC закрывал твой диалог. Это сообщение отредактировал(а) _Michael - 7.7.2007, 22:40 -------------------- ...не убивайся ни о чем - все временно, хоть ночь темна но светлым днем беременна... Саади |
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 6 Всего: 31 |
Я и подразумевал, что KeyAdapter проставляется диалогу. Лично у меня этот код работает прекрасно. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| w1nd |
|
||||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 23 Всего: 54 |
Свои клавиатурные слушатели в этом случае совершенно ни к чему, не нужно изобретать этот велосипед снова. Регистрировать обработчик клавиатуры для компонента, если он должен срабатывать вне зависимости от текущей принадлежности фокуса, нужно так:
Или, на худой конец, так:
Второй вариант - на деле обёртка первого. -------------------- ![]() ![]() |
||||
|
|||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 6 Всего: 31 |
w1nd, если не трудно, расскажи, почему такой вариант предпочтительнее. Есть подозрения, но хотелось бы услышать из уст знающего. А доку копать пока не сильно тянет.
-------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 23 Всего: 54 |
Хотя бы потому, что всё уже реализовано ;) А вообще, вот:
-------------------- ![]() ![]() |
|||
|
||||
![]()
|
| Правила форума "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. |