每当我mouseMove为机器人运行命令时,鼠标并不总是到达同一位置.例如,我有以下代码:
import java.awt.Robot;
import java.util.concurrent.TimeUnit;
public class MainBot {
public static void main(String[] args){
try {
Robot screenWin = new Robot();
TimeUnit.SECONDS.sleep(2);
screenWin.mouseMove(100, 300);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
代码通常使鼠标在X处结束:
首先,我点击运行(我正在使用eclipse)并将鼠标移动到某个位置(在2秒计时器启动之前).然后2秒延迟结束,鼠标移动,然后脚本结束.问题是,鼠标似乎永远不会两次到同一个地方.例如,鼠标应该去,(100, 300)但它会变成(0, 300)大多数时候看起来像的东西.但是,其他时候,如果我将鼠标从头开始移动到它应该大致的位置,那么它就会到达正确的位置.
我得到鼠标应该使用Paint来获取屏幕截图的像素位置,但我不认为这是因为位置不断变化.
有什么我想念的mouseMove工作坐标怎么样?
编辑:基本上,我点击该程序开始,然后我将鼠标移动到一个新位置(所以在mouseMove函数之前有一个不同的初始位置),然后mouseMove执行.每次执行此操作时,鼠标都会转到其他位置.