【问题标题】:Java robot classJava机器人类
【发布时间】:2011-05-02 21:09:49
【问题描述】:

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

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);
    }
}

我该如何解决这个问题?

【问题讨论】:

  • 究竟是什么不工作?你能举一些输入/输出的例子吗?
  • 是的,如果您输入例如“youtube.com”,它会抛出异常,因为“:”无法识别或其他原因
  • 因此,为您想要支持的情况添加一些特殊情况,并捕获并记录异常情况。
  • 是的,我已经考虑到了,但似乎效率低下,没有更简单的方法吗?

标签: java


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    Robot 需要在KeyEvent 中定义的密钥代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 1970-01-01
      • 2016-08-07
      • 2013-07-20
      • 2013-07-02
      • 2018-12-31
      相关资源
      最近更新 更多