我添加了键盘events....with机器人类的对象来在notepad.....but上写入键值,当我按下“a”a“”时,它将解释为"1",因此on...for所有的键.
当我显示所有键的asci值时,它将打印准确的值,如a-97、b-98等等.
为什么会这样请给出一些解决办法..。
发布于 2009-06-18 02:55:38
Robot.keyPress方法接受一个int密钥代码--而不是一个实际的字符代码。
来自有关keycode的文档
keycode - Key to press (e.g. KeyEvent.VK_A) 因此,输入以下内容将不起作用:
Robot r = new Robot();
r.keyPress('a'); // Won't work -- it will press an "1"要正确工作,必须使用KeyEvent中的常量
Robot r = new Robot();
r.keyPress(KeyEvent.VK_A); // This works -- it will press an "a"此外,如果要使用从KeyListener的事件(如keyPressed和keyReleased)返回的keyReleased,则KeyEvent对象具有一个getKeyCode方法,该方法将返回事件的keycode。
https://stackoverflow.com/questions/1010525
复制相似问题