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
Probably you do not need to point at exact pixel, and you may allow a bit difference. So, allow it and it will take much less tries. I have two 1080 monitors 100% scale and use a loop to check position with a limit of 100 tries. Some time it reaches the limit without right positioning, in my case. So I modified a loop to allow a difference in 3 points (I do not need really exact positioning) and now it moves mouse near the right spot in less than 10 attempts.
for (int ntry = 0; ntry < moveTryMax; ntry++) {
bot.mouseMove(paramVO.getX(), paramVO.getY());
Point testPoint = MouseInfo.getPointerInfo().getLocation();
if (Math.abs(testPoint.x - paramVO.getX()) <= pointsDeltaMax && Math.abs(testPoint.y - paramVO.getY()) <= pointsDeltaMax) {
if (showMessages) {
System.out.println("N try: " + ntry);
}
break;
}
}