1

所以在我的计算器程序中,我想设置等于运算,可以通过按回车键(在主键盘上)或按回车键(在小键盘上)来计算数学问题。我知道这些数字是 VK_NUMPAD0 - VK_NUMPAD9、VK_ADD、VK_SUBTRACT、VK_MULTIPLY、VK_DIVIDE。但是我似乎无法找到一个输入键。VK_ENTER 用于键盘输入键。我还查看了 KeyEvent.KEY_LOCATION_NUMPAD,但不确定如何将其添加到我的代码中以使其正常工作。我有一个名为 SetupKeyInput() 的方法,它接受一些参数,为 inputmap 和 actionmap 添加键绑定。

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);
4

0 回答 0