相关疑难解决方法(0)

为什么一些KeyEvent键码会抛出"IllegalArgumentException:无效的密钥代码"?

我正在尝试使用一些进程自动化Robot,而且似乎某些密钥代码(只有在正常输入时需要你保持移位的符号)KeyEvent才会抛出IllegalArgumentException.这是运行的所有代码main:

Robot r = new Robot();
r.keyPress(KeyEvent.VK_EXCLAMATION_MARK);
Run Code Online (Sandbox Code Playgroud)

但是,使用以下解决方法可以正常工作:

Robot r = new Robot();
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_1);
Run Code Online (Sandbox Code Playgroud)

有什么想法抛出异常的想法?谢谢!

Java版本:1.6.0_23

java

2
推荐指数
1
解决办法
4439
查看次数

无效的密钥代码@ java

我正在研究一个用java自动输入内容的系统.这是我写它的方式:

public void typeMessage(String message) {
    for (char c : message.toCharArray()) {
        int code = c;
        if (code > 96 && code < 123) 
            code = code - 32;
        if (c == '@') {
            robot.keyPress(VK_SHIFT);
            robot.keyPress(VK_AT);
            robot.keyRelease(VK_SHIFT);
            robot.keyRelease(VK_AT);
        } else {
            type(code);
        }
    }
    type(VK_ENTER);
}
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:

    Exception in thread "Thread-2" java.lang.IllegalArgumentException: Invalid key code
Run Code Online (Sandbox Code Playgroud)

    robot.keyPress(VK_AT);
Run Code Online (Sandbox Code Playgroud)

java keyboard awtrobot

0
推荐指数
1
解决办法
5820
查看次数

标签 统计

java ×2

awtrobot ×1

keyboard ×1