5

我想将鼠标指针移动到特定位置并执行 SHIFT + 鼠标右键单击。我可以将鼠标移动到某个位置,但无法模拟鼠标点击。

Robot r = new Robot();
r.mouseMove(x1,y1);

我应该怎么做才能模拟预期的鼠标点击?

4

3 回答 3

7

我想你只需要一点额外的信息来让机器人成功完成,试试

r.keyPress(KeyEvent.VK_SHIFT);
r.mousePress(KeyEvent.BUTTON3_MASK);
r.mouseRelease(KeyEvent.BUTTON3_MASK);
r.keyRelease(KeyEvent.VK_SHIFT);
于 2012-08-30T00:06:54.253 回答
1

这应该可以解决问题:

r.mousePress(InputEvent.BUTTON3_MASK);
r.mouseRelease(InputEvent.BUTTON3_MASK);

这里重要的是不要忘记按下并释放它,因为这是 2 个不同的事件。

于 2012-08-29T23:54:35.487 回答
1

用 按键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并且KeyEventjava.awt.event.

于 2012-08-29T23:58:14.697 回答