如何使机器人按住鼠标按钮一段时间?

时间:2011-06-19 08:55:38

标签: java swing mouseevent awtrobot

我使用Java来使用Robot类生成鼠标按下:

robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);

但是,我希望机器人按下按钮一段时间。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:10)

在两个动作之间稍微睡一会儿(以毫秒为单位):

  1. <强> Thread.sleep(long millis);

    robot.mousePress(InputEvent.BUTTON1_MASK);
    try { Thread.sleep(1000); } catch(Exception e) {} // Click one second
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    
  2. <强> Robot.delay(long millis);

    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(1000); // Click one second
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    

答案 1 :(得分:0)

我做到了,很简单:当您检测到鼠标被按下时,您保存System.currentTimeMillis()。当您检测到鼠标被释放时,您只需检查它被按下的时间。

如果您希望在一定时间后进行操作,即使仍然按下鼠标,您也会启动一个按下所需时间的线程,并在释放时中断它。如果线程没有在您想要的时间内中断,则将执行操作。