我正在尝试让Robot类右键单击屏幕上的图像,以便我可以保存它。问题是,我似乎无法让机器人成功模拟右键单击。以下是我正在做的一些示例代码。
似乎BUTTON2_DOWN_MASK是滚轮的遮罩。每当我执行此代码时,它首先只是定期点击该位置,然后滚动滚轮超快速移动圈弹出并告诉我现在我可以以光速滚动,但我想要右键单击..
CODE:
// This is the function I use to simulate a full click at location x,y on the screen
// Rob is my Robot
public void click(int x, int y, int mask)
{
rob.mouseMove(x, y);
sleepy(1000);
rob.mousePress(mask);
rob.mouseRelease(mask);
}
// This is the few lines of code that call this function
// sleepy just calls the Thread.sleep function.
sleepy(1000); // Wait one second
click(705, 390, InputEvent.BUTTON1_DOWN_MASK);
sleepy(1000);
click(705, 390, InputEvent.BUTTON2_DOWN_MASK);
sleepy(1000);
答案 0 :(得分:14)
使用InputEvent.BUTTON3_DOWN_MASK
进行右键单击。正如你所注意到的那样,BUTTON2正确地注意到了鼠标轮,左键是BUTTON1。
请参阅此example。