powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Перхват KeyStroke.
8 сообщений из 8, страница 1 из 1
Перхват KeyStroke.
    #34739182
nixon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Некоторые компоненты имют замапленную в себе комбинацию клавиш ctrl+PageUp/Down. Например JTable выполняет при етой комбинации переключение на крайний или перый столбец в текущей строке.
После чего етот Event дальше никуда не проходит.

Вопрос:Как сделать так что бы во всем моем приложении я мог перхватывать эту комбинацию клавиш и делать нужное мен действие?
...
Рейтинг: 0 / 0
Перхват KeyStroke.
    #34739219
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все эти комбинации лежат в ActionMap и InputMap у Swing компонент. Читай мануал по ним.
Здесь можно найти обсудления и примеры кода
...
Рейтинг: 0 / 0
Перхват KeyStroke.
    #34739330
nixon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пасиба. Ето знаю - читал, пробовал.
Все предлагают решение - удалить из мапы екшн/екейтрок которые связаны с этим поведением.
Но если компонентов море - фреймы, в них тейдбы, много окон, большая вложенность...
и у каждого мапу чистить от етого ивента...
...
Рейтинг: 0 / 0
Перхват KeyStroke.
    #34740144
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nixon1Пасиба. Ето знаю - читал, пробовал.
Все предлагают решение - удалить из мапы екшн/екейтрок которые связаны с этим поведением.
Но если компонентов море - фреймы, в них тейдбы, много окон, большая вложенность...
и у каждого мапу чистить от етого ивента...
Ну, не знаю. Вроде проитерироваться по дереву JComponent ни когда не было проблемой. Сам так делал. Ещё в Swing Hacks пример видел.
...
Рейтинг: 0 / 0
Перхват KeyStroke.
    #34741167
nixon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал. Есть интерфесик KeyEventDispatcher, он и помог в реализации моей задачи.:)
...
Рейтинг: 0 / 0
Перхват KeyStroke.
    #34741404
Дуремар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nixon1Сделал. Есть интерфесик KeyEventDispatcher, он и помог в реализации моей задачи.:)
А пример использования не приведёте? Без деталей - на самом верхнем уровне. Просто я смотрю - там есть некоторые тонкости по редиспатчу события.
...
Рейтинг: 0 / 0
Перхват KeyStroke.
    #34741543
nixon1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приведу конечно:) :
Сделал класс:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 public   class  SwitchEditorTabsKeyEventDispatcher  implements   KeyEventDispatcher
{        
	 public   boolean  dispatchKeyEvent(KeyEvent ke)
    {        				
	 if (ke.getID()==KeyEvent.KEY_PRESSED && ke.isControlDown() && ke.getKeyCode() ==   KeyEvent.VK_PAGE_DOWN )		        					        
    	{        		
              doMyWork();
    	}
    	 return  false; // Move event further.
    }
 };	

Добавляю его в главный фрейм поего приложения:
Код: plaintext
1.
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher( new  SwitchEditorTabsKeyEventDispatcher());
...
Рейтинг: 0 / 0
Перхват KeyStroke.
    #34741569
Дуремар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! Вы меня от массы проблем избавили! :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Перхват KeyStroke.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]