我想使用<
&amp;的键绑定>
个密钥,然后在我的JFrame上使用它。
我正在使用以下代码尝试获取&lt;键。
KeyStroke testStroke = KeyStroke.getKeyStroke("<");
mainJFrame.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
.put(testStroke, "clickButton");
mainJFrame.getRootPane().getActionMap().put("clickButton", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("PRESS!!!!");
}
});
我无法让它发挥作用。但是,如果我使用像A
这样的键,它会很好用KeyStroke testStroke = KeyStroke.getKeyStroke("A");
所以我认为KeyStroke是错的,其余的代码都没问题。
如何获得键的按键&lt; &安培; &gt;?
答案 0 :(得分:5)
根据getKeyStroke(char)
的{{1}}:
返回KeyStroke的共享实例,该实例表示指定字符的KEY_TYPED事件。
KeyStroke.getKeyStroke('<');
KeyStroke.getKeyStroke('>');
之前,您使用的是String。查看the documentation的文档:
解析字符串并返回KeyStroke。该字符串必须具有以下语法:
此方法具有复杂的语法。一个字母有效,但是一个特殊的字符并不遵循语法。 getKeyStroke(char)
更加简单。你应该改用它。