检查整数是否是键盘中的键

时间:2018-04-20 02:40:53

标签: java swing key keystroke

我是java swing的新手。我在检查数据库中获取的整数是否是键盘中的有效键时遇到问题。

如果int是有效的键码,是否有一些内置函数返回true或false?

像这样的东西

KeyEvent.getKeyText(119);
= F8(所以这是真的)

KeyEvent.getKeyText(134319);
=未知(所以它是假的)

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以查看KeyEvent类的源代码,并注意执行 getKeyText(int keyCode)方法时,如果找不到匹配项,则将计算并返回特定值,并创建该值使用默认的串联:只需执行相同的控件,然后检查在代码上调用getKeyText()是否确实返回了该值。

我刚刚测试了一下,它似乎可以工作:

public static boolean isValidCode(int keyCodeToCheck) {
        String unknown = Toolkit.getProperty("AWT.unknown", "Unknown");
        return !KeyEvent.getKeyText(keyCodeToCheck).equals(unknown + " keyCode: 0x" + Integer.toString(keyCodeToCheck, 16));
}

希望这对您有帮助,祝您有美好的一天:)