4
我想移動多個顯示器的計算機周圍的光標。但是,當我僅使用機器人的mouseMove功能時,它將無法正常工作。經過一番研究,我發現了this stackoverflow post,它幾乎可以工作。但是現在看起來GraphicsConfiguration和Robot都看到了不同的主顯示器。這意味着0,0對於另一個是1920,0。所以當我嘗試使用它時,我的鼠標總是轉移到另一個屏幕上。有沒有解決這個問題的通用方法,從而將光標相對於當前位置移動?Java使用鼠標移動與多個顯示器
我希望有人能幫助我。
我的代碼:
public static void moveCursor(int dx, int dy) {
try {
PointerInfo pi = MouseInfo.getPointerInfo();
Point mp = pi.getLocation();
GraphicsConfiguration gc = pi.getDevice().getDefaultConfiguration();
Rectangle bounds = gc.getBounds();
Point virtualPoint = new Point(mp);
virtualPoint.x -= bounds.x;
virtualPoint.y -= bounds.y;
Robot r = new Robot();
r.mouseMove(virtualPoint.x + dx, virtualPoint.y + dy);
} catch (AWTException ex) { }
}