Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查integer是否为键盘中的键_Java_Swing_Key_Keystroke - Fatal编程技术网

Java 检查integer是否为键盘中的键

Java 检查integer是否为键盘中的键,java,swing,key,keystroke,Java,Swing,Key,Keystroke,我不熟悉java swing。我在检查数据库中获取的整数是否是键盘上的有效键时遇到问题 如果int是有效的键码,是否有一些内置函数返回true或false 像这样的 KeyEvent.getKeyText(119) =F8(所以这是真的) KeyEvent.getKeyText(134319) =未知(因此为假) 谢谢 您可以查看KeyEvent类的源代码,注意在执行getKeyText(int keyCode)方法时,如果未找到匹配项,则将计算并返回一个特定值,并使用默认连接创建该值:只需执行

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

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

像这样的

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

KeyEvent.getKeyText(134319)
=未知(因此为假)


谢谢

您可以查看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));
}

希望这能帮助你,祝你愉快:)

公共静态布尔函数,它返回strueorfalseifintisavalidkeycode(inta){return!java.awt.event.KeyEvent.getKeyText(a).startsWith(“Unknown keyCode:”;}为了澄清,如果键代码是用户键盘上的键,你正在寻找一个返回true的方法,对吗?例如,如果我使用的是没有home键的小型键盘,那么对于
KeyEvent.VK_home
,该方法将返回false。(如果指定的keycode是由
KeyEvent
类定义的代码之一,那么编写一个简单返回true的方法就相当容易了,但听起来这不是您想要的。)