首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Robot类的关键事件

Robot类的关键事件
EN

Stack Overflow用户
提问于 2009-06-18 12:03:06
回答 3查看 2.2K关注 0票数 2

处理Robot.KeyPress(KeyEvent...)时出现问题是否每次都需要指定所有密钥...例如Robot.KeyPress(KeyEvent.VK_A);Robot.KeyPress(KeyEvent.VK_B);Robot.KeyPress(KeyEvent.VK_C);如果有不重复这个everytime...plz的捷径告诉我.....

在客户端接收到的密钥的解释是从服务器端发送的diff...than。

所以请帮帮我。

EN

回答 3

Stack Overflow用户

发布于 2009-06-18 12:17:43

没有接受来自大量键的同时按键的方法,因为大多数键盘对在给定时间被按下的键的最大数目有限制,并且几乎没有理由同时同时按下多于三个键。

如果您希望重复发送特定的键序列,则可以将其放入数组中并对其进行迭代:

代码语言:javascript
复制
        int[] events = {KeyEvent.VK_A, KeyEvent.VK_B, KeyEvent.VK_C};
    Robot robot;
    try {
        robot = new Robot();
        for (int i = 0; i < events.length; i++) {
            robot.keyPress(events[i]);
            robot.keyRelease(events[i]);
        }
    } catch (AWTException e) {
        e.printStackTrace();
    }

或者,您可以将其放入一个函数中。

至于键的解释,我猜你忘记了keyRelease()调用,如果没有,你能准确地在客户端/服务器端发布你收到的东西吗?

票数 1
EN

Stack Overflow用户

发布于 2009-06-18 13:42:42

我为使用AWT Robot编写了一个高级的、方便的API。看看Window Licker库中的手势API。

它解决了key events are interpreted as different symbols in different locales的问题,但仅通过使用配置文件来描述键盘布局。我还没有找到一种仅通过使用Java就能自动完成此操作的方法。

票数 1
EN

Stack Overflow用户

发布于 2009-09-20 22:41:06

您可能想看看这个SmartRobot类,它实现了您所需要的东西

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1012270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档