Я собираюсь использовать keybinding в приложении swing для ввода num pad, но ключ трудно поймать. Все примеры, которые я видел полагаться на что-то вроде
key == KeyEvent.VK_KP_LEFT
Как определить keyStroke для numpad - введите ключ
где VK_KP_LEFT есть некоторое заданное значение. Другие варианты, чтобы определить, как это keystoke:
KeyStroke.getKeyStroke("control A");
KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK);
, но я не нашел «модификатор» для NumPad.
Что легко получить разница между общим и NumPad введите: Все Numpad-клавиши (независимо обозначают, если переключился в цифровом режиме или нет) получить назначен
getKeyLocation() == 4
(I spottetd это из ключевые прессованные/ключ выпустил методы)
вопрос в том:
Как правильно подготовить KeyStroke для цифровой клавиатуры клавиши ввода, чтобы использовать его в ключе привязки метода
inputMap.put(KeyStroke keyStroke, Object actionMapKey)
?
Спасибо,
Тарик
Хотя технически правильно, в том, что он должен ответить на оба входа ключи, я считаю, что ОП хочет ограничить Акция только на клавиатуре клавишу ввода – MadProgrammer
@MadProgrammer Правда, я, возможно, неправильно вопрос. Возможно, невозможно различать эти два ключа. Интересно, может ли ОП предоставить более подробную информацию. – tenorsax