"的 KeyStroke-6ren"> "的 KeyStroke-我想为 键,然后在我的 JFrame 上使用它。 我正在使用以下代码尝试为 的击键? 最佳答案 根据 the documentation对于 getKeyStroke(char): Returns -6ren">
gpt4 book ai didi

java - 获取 "<"和 ">"的 KeyStroke

转载 作者:搜寻专家 更新时间:2023-11-01 02:25:35 25 4
gpt4 key购买 nike

我想为 < 使用键绑定(bind)& >键,然后在我的 JFrame 上使用它。

我正在使用以下代码尝试为 < 键获取它。

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 出错了,其余代码没问题。

我如何获取键 < & > 的击键?

最佳答案

根据 the documentation对于 getKeyStroke(char):

Returns a shared instance of a KeyStroke that represents a KEY_TYPED event for the specified character.

KeyStroke.getKeyStroke('<');
KeyStroke.getKeyStroke('>');

之前,您使用的是字符串。寻找 getKeyStroke(java.lang.String) 的文档:

Parses a string and returns a KeyStroke. The string must have the following syntax:

这个方法有一个复杂的语法要遵循。单个字母有效,但特殊字符不符合语法。 getKeyStroke(char) 要简单得多。您应该改用它。

关于java - 获取 "<"和 ">"的 KeyStroke,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24246418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com