相关疑难解决方法(0)

Robot.mouseMove没有正确移动到指定的位置

每当我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执行.每次执行此操作时,鼠标都会转到其他位置.

java windows mousemove awtrobot

8
推荐指数
1
解决办法
4207
查看次数

标签 统计

awtrobot ×1

java ×1

mousemove ×1

windows ×1