Мне, должно быть, что-то не хватает, но я не могу понять, почему работают InputEvent.CTRL_DOWN_MASK
или InputEvent.CTRL_MASK
?Выполнение CTRL_MASK в событии Swing Action
То, что я пытаюсь сделать, это реализовать способ для Ctrl-C выдать команду в графическом интерфейсе Swing. Я использую следующий код:
myTextArea.getInputMap(JComponent.WHEN_FOCUSED).put(
KeyStroke.getKeyStroke((char) 'c', /***/InputEvent.CTRL_DOWN_MASK/***/), "ctrl");
myTextArea.getActionMap().put("ctrl", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("test");
}
});
Обратите внимание на InputEvent.CTRL_DOWN_MASK
. Когда я держу его там, действие никогда не будет выполнено. Когда я закомментировать, действие работает (но я только нажав строчной «C» кнопку. Не ctrl.
Могу ли я что-то отсутствует, как на самом деле использовать CTRL_MASK для распашных ключевых событий?
ОП в вызове 'getInputMap (...). Put (KeyStroke, String)' в примере. – Josh
@Space Pope CTRL, SHIFT .... являются модификаторами – mKorbel
@Space Папа хороший улов, спасибо, я поставил там SHIFT ..... – mKorbel