Java 字符到键事件int

Java 字符到键事件int,java,awt,awtrobot,Java,Awt,Awtrobot,希望将字符转换为整数,以便与awtrobots键控件一起使用。我有这个解决方案,它现在可以工作,但它很长,很混乱,我需要添加每一个可能输入的密钥,这是非常多的。有没有更简单或更整洁的方法来完成这项任务?谢谢 (我现在用+10000表示大写字母,我只需在键入字符时进行检查,如果num>10000,请按住shift键并从数字中删除10000) 查看源代码,KeyEvent字段的值如下 public static final int VK_A = 65; public static final int

希望将字符转换为整数,以便与awt
robot
s键控件一起使用。我有这个解决方案,它现在可以工作,但它很长,很混乱,我需要添加每一个可能输入的密钥,这是非常多的。有没有更简单或更整洁的方法来完成这项任务?谢谢

(我现在用+10000表示大写字母,我只需在键入字符时进行检查,如果num>10000,请按住shift键并从数字中删除10000)


查看源代码,KeyEvent字段的值如下

public static final int VK_A = 65;
public static final int VK_B = 66;
...
public static final int VK_Z = 90;
这只是A-Z的ascii值。您可以将字符转换为int以获得其ascii值,这意味着您可以执行类似的操作

public static int charToNum(char inputChar) {
    if(inputChar == '!') {
        return(KeyEvent.VK_EXCLAMATION_MARK);
    } else if (inputChar == ' ') {
        return(KeyEvent.VK_SPACE);
    }

    if (Character.isUpperCase(inputChar)) {
        return (int) inputChar + 10000;
    } else {
        return (int) inputChar - 32;
    }
}

但是,任何非字母字符都必须有自己的特殊大小写,如感叹号和空格

不,这是唯一的办法。应该先按SHIFT键来生成资金……啊,真是糟透了:/噢,好吧!看到代码上方的注释,我在这个方法中使用+10000,但是当我打字时,我会按住shift键
public static int charToNum(char inputChar) {
    if(inputChar == '!') {
        return(KeyEvent.VK_EXCLAMATION_MARK);
    } else if (inputChar == ' ') {
        return(KeyEvent.VK_SPACE);
    }

    if (Character.isUpperCase(inputChar)) {
        return (int) inputChar + 10000;
    } else {
        return (int) inputChar - 32;
    }
}