Java getInputMap() для ключа ввода на цифровой клавиатуре

Поэтому в моей программе калькулятора я хотел бы настроить операцию равенства, где математическая задача может быть вычислена нажатием клавиши ввода (на главной клавиатуре) или нажатием клавиши ввода (на цифровой клавиатуре). Я знаю, что номера: VK_NUMPAD0 - VK_NUMPAD9, VK_ADD, VK_SUBTRACT, VK_MULTIPLY, VK_DIVIDE. Однако я не могу найти один для клавиши ввода. VK_ENTER для клавиш ввода клавиатуры. Я также посмотрел на KeyEvent.KEY_LOCATION_NUMPAD, но не уверен, как добавить его в мой код, чтобы заставить его работать. У меня есть метод с именем SetupKeyInput(), который принимает некоторые параметры, которые добавляют привязки клавиш для входной карты и карты действий.

private void SetupKeyInput(JButton component, int keyStroke, int mask) {
  component.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(keyStroke, mask), "hmm");
component.getActionMap().put("hmm", new MyButtonEvents(component));

}

Итак, я могу вызвать функцию, как это

SetupKeyInput(buttonEquals, KeyEvent.VK_ENTER, 0); // Only works for keyboard enter

Чего мне не хватает для ввода номера? Я тоже пробовал это

SetupKeyInput(buttonEquals, KeyEvent.VK_ENTER, KeyEvent.KEY_LOCATION_NUMPAD);

0 ответов

Другие вопросы по тегам