以下代码始终键入“Ä”而不是“”。其他所有字符都起作用。
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);
}