5

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

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

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

4

2 回答 2

12

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

  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);
    
于 2011-06-19T09:28:53.150 回答
0

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

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

于 2011-06-19T08:59:54.160 回答