我是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));
}
希望这对您有帮助,祝您有美好的一天:)