-1

我有一个 java 机器人来输入字符,但是它打印的内容如下:

.. 5./. .. .. //5 / /55/ /.. ..5.. .. 5 5 . 5.

而不是想要的字符串。有人知道如何避免这种情况吗?

import java.awt.Robot;
import java.awt.AWTException;

Robot robot;

String txt = "o noes ";
char[] chars;

void setup() {

  chars = txt.toCharArray();

  try {
    robot = new Robot();
  } 
  catch(AWTException e) {
  }
  robot.setAutoDelay(1);

  for (int i = 0; i < 10000; i++) {
    int c = chars[(int)random(chars.length)];
    robot.keyPress(c);
    robot.keyRelease(c);
  }
}
4

2 回答 2

2

您可能会认为这种冗长但它有效http://pastebin.com/p0BdJxpy

于 2012-09-08T13:28:36.270 回答
2

根据 javadoc for ,您必须使用KeyEvent类中的值,而不是字符, for 。keyPresskeyPress

KeyEvent ke = new KeyEvent(<various parameters>);
ke.setKeyChar('a');
int code = ke.getKeyCode();
于 2012-09-08T13:07:12.177 回答