简体   繁体   中英

How can I make Robot press and hold a mouse button for a certain period of time?

I am using Java to generate a mouse press using the Robot class:

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

However, I want the Robot to press the button for a certain period of time. How can I achieve this?

Just sleep a bit between the two actions (specified in milliseconds):

  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); 

I did that, it's simple: when you detect the mouse is pressed, you save the System.currentTimeMillis() . When you detect the mouse is released, you just check how long it was pressed.

If you want the action to be made after a certain amount of time, even if the mouse is still pressed, you start a thread that lives the desired amount of time when pressed and you interrupt it when releasing. If the thread isn't interrupted in the amount of time you wanted, the action will be performed.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM