2011-05-02 72 views
1

我在Robot类中输入时遇到问题。我想让机器人输入用户输入的 。由于某种原因机器人无法输入某些字符。这是我的类型代码:Java机器人类

public void type(String s,Robot robot) { 
    byte[] stringBytes = s.getBytes(); 

    for (byte b : stringBytes) { 
     int code = b; 

     if (code > 96 && code < 123) 
      code = code - 32; 
     robot.keyPress(code); 
     robot.keyRelease(code); 
    } 
} 

我该如何解决这个问题?

+3

什么是不正确的呢?你能举一些例子输入/输出吗? – Maxpm 2011-05-02 21:11:47

+0

是啊当然,如果你输入例如“http://youtube.com”它会抛出异常,因为“:”不被识别或某事 – 2011-05-02 21:16:20

+0

可能重复[模拟退格键与java.awt.Robot](http:///stackoverflow.com/questions/2596641/simulate-backspace-key-with-java-awt-robot) – trashgod 2011-05-02 21:21:13

回答

2

如果您想“键入用户输入的内容”,那么您肯定应该捕获一组KeyEvent对象,而不是String。每个String角色都没有钥匙,远非如此! (例如你需要按'shift'键输入一个冒号,所以这是两次按键,而不是一次)