robot.keyPress(KeyEvent.VK_SPACE)始终添加不需要的字符

时间:2019-04-26 12:31:15

标签: java

以下代码始终键入“Ä”而不是“”。其他所有字符都起作用。

public void sendSpacebar() {
  try {
    this.robot = new Robot();
    robot.keyPress(KeyEvent.VK_SPACE);
    robot.keyRelease(KeyEvent.VK_SPACE);
  } catch (AWTException e) {
    e.printStackTrace();
  }
}

我在多种编辑器(Word,记事本)中尝试过。我已经尝试将此代码与''作为char参数一起使用,但最终得到了相同的结果:

public static void pressUnicode(Robot r, char character)
    {
        r.keyPress(KeyEvent.VK_ALT);
        int key_code = (int) character;
        for(int i = 3; i >= 0; --i)
        {
            // extracts a single decade of the key-code and adds
            // an offset to get the required VK_NUMPAD key-code
            int numpad_kc = key_code / (int) (Math.pow(10, i)) % 10 + KeyEvent.VK_NUMPAD0;

            r.keyPress(numpad_kc);
            r.keyRelease(numpad_kc);
        }

        r.keyRelease(KeyEvent.VK_ALT);
    }

0 个答案:

没有答案