在不知道Swing中的修改键的情况下听一个斜线击键

时间:2014-07-16 15:56:40

标签: java swing key-bindings keystroke

我正在尝试在Swing组件中听一下斜杠字符的击键。 注册

component.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_SLASH, 0), myAction);

使用英文键盘布局时(斜线是单击键)。但是,当使用德语键盘布局时,通过shift-7输入斜杠并且obove代码不起作用!

现在,正确听取斜杠字符的正确方法是什么,而不是密钥的组合?

1 个答案:

答案 0 :(得分:4)

您当前的KeyStroke会侦听keyPressed事件。

也许你可以使用:

KeyStroke slash = KeyStroke.getKeyStroke("typed /");  // or
KeyStroke slash = KeyStroke.getKeyStroke('/'); 

这应该监听keyTyped事件,该事件应该适用于实际生成可以添加到文本字段的类型字符的KeyStrokes。