Java robot.mouseMove(x, y) not producing correct results

后端 未结 2 1334
不知归路
不知归路 2021-01-05 03:27

I have recently been trying to automate a program I made and I have run into a problem, robot.mouseMove(100, 100) doesn\'t send the mouse to 100, 100.

I made this si

2条回答
  •  庸人自扰
    2021-01-05 03:47

    The JDK Bug website says a current workaround is to call the function in a loop until the mouse moved to the right space. You could use a function like this:

    public static void moveMouse(int x, int y, int maxTimes, Robot screenWin) {
        for(int count = 0;(MouseInfo.getPointerInfo().getLocation().getX() != x || 
                MouseInfo.getPointerInfo().getLocation().getY() != y) &&
                count < maxTimes; count++) {
            screenWin.mouseMove(x, y);
        }
    }
    

    Max times is there to stop an infinite loop in case something happens. Usually 4-5 times is good enough for me.

提交回复
热议问题