Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переключение фреймов по ctrl-tab 
V
    Опции темы
3d_den
Дата 28.3.2008, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Проблема следующая. Нужно сделать в программе MDI с переключением фреймов по ctrl-tab. 
Я пытался использовать метод JComponent.registerKeyboardAction(Object key, Object value), 
затем пробовал добавлять KeyListener. В обоих случаях получал одинаковый результат: 
программа реагирует на все сочетания клавиш кроме ctrl-tab. 
Так же я наткнулся на документированный баг 

Bug ID:  4736672  
Votes  7  
Synopsis  Ctrl-Tab and Shift-Ctrl-Tab do not work in JTabbedPane in Windows Look and Feel  
Category  java:classes_swing  
Reported Against  hopper-rc , merlin-rc1  
Release Fixed  1.5(tiger)  
State  Closed, fixed  

ссылка на баг

Я использую jre1.4
Насколько я понимаю, суть проблемы в том, что какой то более низкоуровневый компонент перехватывает 
нажатие клавиш ctrl-tab, и не пропускает его дальше. Может ли кто-нибудь помочь мне???
PM MAIL   Вверх
philips
Дата 30.3.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 6.2.2008
Где: Минск

Репутация: 1
Всего: 1



напиши эти строчки в тех компанентах (возможно еще потребуется добавить и в родительском фрейме) где ты хочешь повесить листенер на нажатие ctrl+tab и ctrl+shift+tab. 

Код

this.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, Collections.EMPTY_SET);
this.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, Collections.EMPTY_SET);


потом запусти прогу и потести, посмотри какие компаненты перехватывают это сочетание и примени эти методы к этим компанетам.

вроде должно заработать, по крайней мере у меня заработало. 

Это сообщение отредактировал(а) philips - 30.3.2008, 17:58
PM   Вверх
3d_den
Дата 31.3.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Спасибо!!! 
Всё получилось еще проще...
this.setFocusTraversalKeysEnabled(false);
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0770 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.