2015-12-12 6 views
1

Я хочу уловить ключ или комбинацию клавиш (например, «b», «Shift-b», «Alt-b» и «Shift-Alt-b»), который вводится в клавиатуру для приложения Java Swing. Я хочу сделать это для каждого из клавиш на клавиатуре. Когда ключ окажется в ловушке, я хочу заменить его другим символом или строкой по своему выбору и отобразить заменяющий символ или строку в объекте JTextPane в том же месте в JTextPane, где был напечатан исходный символ.Как сопоставить запись клавиатуры в Java Swing на другой символ или строку?

Идея состоит в том, чтобы сопоставить ключи обычной клавиатуры QWERTY с символами другого скрипта и языка, например, хинди.

Я могу поймать ключи QWERTY клавиатуры просто отлично, используя следующий вид кода:

JTextPane textPane = new JTextPane(); 
KeyStroke key = KeyStroke.getKeyStroke('b'); 

InputMap inputMap = textPane.getInputMap(); 
inputMap.put(key, DefaultEditorKit.forwardAction); 

Однако для InputMap, я только в состоянии заменить KeyStroke для другого «Action» как DefaultEditorKit.forwardAction, а не другой символ или String. Я не обязательно должен использовать InputMap - любой метод, который позволяет мне отображать запись на клавиатуре другого символа, или String будет в порядке.

Спасибо, Sandeep

+0

Crossposted: http://www.coderanch.com/t/658968/GUI/java/map-Keyboard-Entry-Java-Swing – camickr

ответ

0

Вы можете посмотреть на DefaultKeyTypedAction из класса DefaultEditorKit, чтобы увидеть, как вы можете связать свои ключи.

 Смежные вопросы

  • Нет связанных вопросов^_^