Java Robot

2025 年 3 月 27 日 | 阅读 5 分钟

在 Java 中,Robot 是一个属于 java.awt 包的类。它还扩展了 Object。该类用于为测试自动化、自运行演示和其他需要鼠标和键盘控制的应用程序生成本地系统输入事件。换句话说,我们使用 Java Robot 类来触发输入事件,例如鼠标单击、按键等。在本节中,我们将讨论 Java Robot 类及其 方法。除此之外,我们还将创建一个 Java 程序来控制 键盘鼠标。通过使用 Robot 类,我们将创建一个 Java 程序并控制键盘和鼠标。

Robot 类的主要目的是促进 Java 平台实现的自动化测试。简而言之,Robot 类用于控制外围设备(鼠标和键盘)。它支持三个主要功能,提供对鼠标和键盘的控制,并捕获屏幕。

Java Robot 类方法

方法名称描述
createScreenCapture(Rectangle screenRect)该方法以矩形形状从屏幕捕获图像
delay(int ms)它用于休眠指定的时长。
getAutoDelay()它返回此 Robot 在生成事件后休眠的毫秒数。
getPixelColor(int x, int y)它返回指定坐标的像素颜色
isAutoWaitForIdle()该方法返回此 Robot 是否在生成事件后自动调用 waitForIdle()
keyPress(int keycode)该方法按下指定的键。
keyRelease(int keycode)释放指定的键。
mouseMove(int x, int y)它将鼠标指针移动到指定坐标。
mousePress(int buttons)按下鼠标按钮。
mouseRelease(int buttons)该方法释放鼠标按钮。
mouseWheel(int wheelAmt)滚动鼠标滚轮。
setAutoDelay(int ms)它设置此 Robot 在生成事件后休眠的毫秒数。
setAutoWaitForIdle(boolean isOn)它设置此 Robot 是否在生成事件后自动调用 waitForIdle() 方法。
toString()它返回 Robot 的字符串表示形式。
waitForIdle()它等待直到事件队列中的所有事件都已处理完毕。

Robot 类扩展了 Object 类,因此 Object 类的所有方法也继承到 Robot 类中。如果键或鼠标单击指定不正确,所有上述方法都会抛出 IllegalArgumentException

KeyBoardControlExample.java

输出

Java Robot

当我们运行上述程序时,notepad.exe 会自动打开并开始按照顺序按下相应的键。在按下每个键后,有 500 毫秒 (ms) 的间隔,您可以相应地增加或减少延迟。因此,字符串 welcome to javatpoint 会被模拟输入到记事本中。

Robot 类鼠标事件

让我们了解如何使用 Java Robot 类模拟鼠标事件。

mousePress(int buttons)

该方法解析一个或多个鼠标按钮。按下鼠标按钮后,应通过调用 mouseRelease(int buttons) 方法来释放。对于鼠标事件,有以下可用的按钮掩码(作为参数传递):

  • BUTTON1_DOWN_MASK:执行左键单击事件。
  • BUTTON2_DOWN_MASK:执行中键单击。
  • BUTTON3_DOWN_MASK:执行右键单击。

上述值由 InputEvent.getMaskForButton(button) 方法返回。该方法还接受以下标准按钮掩码:

  • BUTTON1_MASK
  • BUTTON2_MASK
  • BUTTON3_MASK

语法

mouseRelease(int buttons)

它释放先前单击的鼠标按钮。它接受与 mousePress() 方法相同的参数。假设我们要释放右键单击,则将调用 robot.mouseRelease(InputEvent BUTTON3_DOWN_MASK) 方法。

语法

mouseMove(int x, int y)

该方法用于将鼠标指针移动到指定的屏幕位置。它解析两个参数 x 和 y,它们是坐标。例如,mouseMove(300, 100)。

语法

mouseWheel()

该方法旋转鼠标滚轮。它解析一个参数 wheelAmt,该参数是移动滚轮的刻度数。该参数可以为正值或负值。正值将滚轮向后滚动(朝向用户),负值将滚轮向前滚动(远离用户)。

语法

让我们在 Java 程序中使用 Java Robot 类来实现鼠标模拟。

RobotMouse.java

输出

Java Robot

要移动指针,请单击 OK 按钮。当我们单击 OK 按钮时,指针将开始移动到指定坐标。