使用awt包中的Robot class双击事件
Double click event using Robot class in awt package
我已经看到很多关于使用 MouseEvent
双击事件的帖子。但这不是我要找的。我最近开始使用 Robot
class 并遇到了一些鼠标功能,例如 mouseMove(x,y)
、mouseRelease(int buttons)
.
Robot
class 也提供 mousePress(int button);
功能。我试过这个。
Robot robot = new Robot();
robot.mouseMove(305, 450);
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
但是这是一个单击事件。我想要实现的是使用 Robot
class 的双击事件。有可能实现吗?如果是这样。那怎么办?
Robot
class 没有提供双击的方法。您必须自己实施。想一想真正的双击是什么,它是快速连续的两次单击。 (根据您的 OS 设置,点击之间所需的时间可能会有所不同。)
所以你真的只需要非常快地点击两次:
Robot robot = new Robot();
robot.mouseMove(305, 450);
// first click
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
// second click
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
您可能还想在两次点击之间添加几毫秒的延迟,因为有些东西可能无法很好地响应太快的点击。
我已经看到很多关于使用 MouseEvent
双击事件的帖子。但这不是我要找的。我最近开始使用 Robot
class 并遇到了一些鼠标功能,例如 mouseMove(x,y)
、mouseRelease(int buttons)
.
Robot
class 也提供 mousePress(int button);
功能。我试过这个。
Robot robot = new Robot();
robot.mouseMove(305, 450);
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
但是这是一个单击事件。我想要实现的是使用 Robot
class 的双击事件。有可能实现吗?如果是这样。那怎么办?
Robot
class 没有提供双击的方法。您必须自己实施。想一想真正的双击是什么,它是快速连续的两次单击。 (根据您的 OS 设置,点击之间所需的时间可能会有所不同。)
所以你真的只需要非常快地点击两次:
Robot robot = new Robot();
robot.mouseMove(305, 450);
// first click
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
// second click
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
您可能还想在两次点击之间添加几毫秒的延迟,因为有些东西可能无法很好地响应太快的点击。