Я пытаюсь создать редактор с несколькими горячими клавишами. Этот редактор будет выполнять некоторые функции при каждом нажатии. (кстати, извините, если мой английский плохой: D)
Я сделал это с помощью клавиши Enter (клавиша возврата, удаления и клавиши со стрелкой). (примечание: ta — текстовая область, javaswing)
String keyStrokeAndKey_enter = "ENTER";
KeyStroke keyStroke_enter = KeyStroke.getKeyStroke(keyStrokeAndKey_enter);
ta.getInputMap().put(keyStroke_enter, keyStrokeAndKey_enter);
ta.getActionMap().put(keyStrokeAndKey_enter, enter);
Я сделал, если мы используем alt+[клавиша]
String keyStrokeAndKey_1 = "1";
KeyStroke keyStroke_1 = KeyStroke.getKeyStroke(KeyEvent.VK_1, Event.CTRL_MASK);
ta.getInputMap().put(keyStroke_1, keyStrokeAndKey_1);
ta.getActionMap().put(keyStrokeAndKey_1, _1);
Но я застрял только с алфавитной клавишей (a, b, c и т. д.). Я пробовал так:
String keyStrokeAndKey_a = "a";
KeyStroke keyStroke_a = KeyStroke.getKeyStroke(keyStrokeAndKey_a);
ta.getInputMap().put(keyStroke_a, keyStrokeAndKey_a);
ta.getActionMap().put(keyStrokeAndKey_a, _a);
Итак, что я должен сделать, чтобы решить мою проблему? Спасибо раньше :)
KeyBindings
- person mKorbel   schedule 21.08.2013String keyStrokeAndKey_a = "A";
вместоString keyStrokeAndKey_a = "a";
? Вы говорите, что я сделал, если мы используем alt+[клавиша], но вы добавляетеEvent.CTRL_MASK
(старый модификатор) вместоEvent.ALT_DOWN_MASK
:-) - person nIcE cOw   schedule 21.08.2013