如何在java中模拟SHIFT +鼠标键

时间:2012-08-29 23:49:55

标签: java swing

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

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

如何模拟预期的鼠标点击?

3 个答案:

答案 0 :(得分:7)

我认为你需要一些额外的信息才能让Robot成功完成,试试

r.keyPress(KeyEvent.VK_SHIFT);
r.mousePress(KeyEvent.BUTTON3_MASK);
r.mouseRelease(KeyEvent.BUTTON3_MASK);
r.keyRelease(KeyEvent.VK_SHIFT);

答案 1 :(得分:1)

这应该可以解决问题:

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

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

答案 2 :(得分: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

InputEventKeyEvent位于java.awt.event