java - 检查整数是否是键盘上的键

标签 java swing key keystroke

我是 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));
}

希望这可以帮助你,祝你有美好的一天:)

关于java - 检查整数是否是键盘上的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49933079/

相关文章:

java - 基本GUI程序布局定位

sql - Oracle SQL - 将主键添加到表

android - 如何更改Android软键盘中任意键的键背景

java - 使用 Hibernate 和 Spring 批量插入

java - 在特定条件下是否可以混合使用 hibernate-envers 版本?

java - Android/Firebase : Glide not working inside one of my fragments

java - 如何创建带有菜单的 JButton?

java - 超时队列会删除未检索到的对象

java - 图形对象上的 MouseListener

c# - 使用 ProcessCmdKey 按住箭头键按下事件