处理Robot.KeyPress(KeyEvent...)时出现问题是否每次都需要指定所有密钥...例如Robot.KeyPress(KeyEvent.VK_A);Robot.KeyPress(KeyEvent.VK_B);Robot.KeyPress(KeyEvent.VK_C);如果有不重复这个everytime...plz的捷径告诉我.....
在客户端接收到的密钥的解释是从服务器端发送的diff...than。
所以请帮帮我。
发布于 2009-06-18 12:17:43
没有接受来自大量键的同时按键的方法,因为大多数键盘对在给定时间被按下的键的最大数目有限制,并且几乎没有理由同时同时按下多于三个键。
如果您希望重复发送特定的键序列,则可以将其放入数组中并对其进行迭代:
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()调用,如果没有,你能准确地在客户端/服务器端发布你收到的东西吗?
发布于 2009-06-18 13:42:42
我为使用AWT Robot编写了一个高级的、方便的API。看看Window Licker库中的手势API。
它解决了key events are interpreted as different symbols in different locales的问题,但仅通过使用配置文件来描述键盘布局。我还没有找到一种仅通过使用Java就能自动完成此操作的方法。
发布于 2009-09-20 22:41:06
您可能想看看这个SmartRobot类,它实现了您所需要的东西
https://stackoverflow.com/questions/1012270
复制相似问题