我有一个java机器人来输入字符,但它打印的内容如下:
.. 5. /。 .. .. // 5 / / 55 / / .. .. .. .. 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);
}
}
答案 0 :(得分:2)
根据KeyEvent
的javadoc,您必须使用keyPress
类的值,而不是keyPress
的字符。
KeyEvent ke = new KeyEvent(<various parameters>);
ke.setKeyChar('a');
int code = ke.getKeyCode();
答案 1 :(得分:2)
你可能会考虑这种冗长但它有效http://pastebin.com/p0BdJxpy