我想将鼠标指针移动到特定位置并执行 SHIFT + 鼠标右键单击。我可以将鼠标移动到某个位置,但无法模拟鼠标单击。
Robot r = new Robot();
r.mouseMove(x1,y1);
我应该怎么做才能模拟预期的鼠标点击?
我认为您只需要一些额外的信息即可成功完成机器人,请尝试
r.keyPress(KeyEvent.VK_SHIFT);
r.mousePress(KeyEvent.BUTTON3_MASK);
r.mouseRelease(KeyEvent.BUTTON3_MASK);
r.keyRelease(KeyEvent.VK_SHIFT);
这应该可以解决问题:
r.mousePress(InputEvent.BUTTON3_MASK);
r.mouseRelease(InputEvent.BUTTON3_MASK);
这里重要的是不要忘记按下和发布它,因为这是两个不同的事件。
用robot
class
按下一个键很简单:
r.keyPress(KeyEvent.VK_SHIFT); //hold down shift
r.mousePress(InputEvent.BUTTON3_MASK); //perform a right click
r.mouseRelease(InputEvent.BUTTON3_MASK); //release right click
r.keyRelease(KeyEvent.VK_SHIFT); //release shift
InputEvent
和KeyEvent
都在java.awt.event
.