Java机器人鼠标移动: setting speed?

标签 java performance mouse velocity awtrobot

Java Robot 类允许移动鼠标,就好像移动了实际的物理鼠标一样。

但是,如何以人性化(而非即时)的方式将鼠标从 Point1 移动到 Point2?也就是说,如何设置移动速度?

如果Robot类不可能有这样的速度,那么如果鼠标只能瞬间移动,那么应该用什么样的“算法”来模拟人的鼠标移动呢?它应该以一定的递增速度逐像素移动鼠标吗?

最佳答案

这里有一个很好的方法:

考虑 start_x 鼠标开始的位置和 end_x 您希望鼠标结束的位置。 y

相同
for (int i=0; i<100; i++){  
    int mov_x = ((end_x * i)/100) + (start_x*(100-i)/100);
    int mov_y = ((end_y * i)/100) + (start_y*(100-i)/100);
    robot.mouseMove(mov_x,mov_y);
    robot.delay(10);
}

希望对您有所帮助...

关于Java机器人鼠标移动: setting speed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5339325/

相关文章:

java - 如何使用反射获取字段值中的类?

java - 将 Spring Security 2.0.5 迁移到 Spring Security 3.0.8 无法在带有 F5 负载均衡器的 Weblogic 上工作

java - 遗传算法的并行化显着减慢了算法速度。为什么会这样呢?

python - numpy/scipy 中牛顿力的最高效计算

java - 使用jna监听鼠标事件时如何区分向上滚动还是向下滚动

java - 如何使我的 AlertDialog 标题居中?

java - 为什么 getName() 返回 null?

c++ - 在C/C++中快速读取多个文件的某些字节

java - java中如何获取鼠标中键?

jquery - 如果通过 JQuery 创建 html,则鼠标触发无法正确发生