数字键盘可以生成什么Java KeyEvent?

时间:2012-11-02 10:32:05

标签: java keyevent

在摇摆程序中,我试图使用键绑定专门从键盘上的num pad键接收输入。

myPanel.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD8, 0), “numpad8”);
myPanel.getActionMap().put(“numpad8”, numPad8);

如果我打开了num锁,那就正常工作,这是预期的,但是如果我添加:

myPanel.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_KP_UP, 0), “numpad8”);

没有num lock,我的键盘不会导致调用numPad8 Action(实际上它似乎生成了KeyEvent.VK_UP)。这对我来说是令人惊讶的,因为KeyEvent的文档指定KeyEvent.VK_UP是

  

非小键盘向上箭头键的常量。

和KeyEvent.VK_KP_UP

  

数字小键盘向上箭头键的常量。

所以我的问题是:如果我希望我的代码能够支持尽可能多的键盘设置,那么我应该从num pad中得到什么KeyEvents?我应该将KeyEvent.VK_8添加到上面是否安全,例如?

0 个答案:

没有答案