is new.
java.lang.Objectjava.awt.Robot
This class is used to generate native system input events for the purposes of test automation, self-running demos, and other applications where control of the mouse and keyboard is needed. The primary purpose of Robot is to facilitate automated testing of Java platform implementations.
Using the class to generate input events differs from posting events to the AWT event queue or AWT components in that the events are generated in the platform's native input queue. For example, Robot.mouseMove will actually move the mouse cursor instead of just generating mouse move events.
Note that some platforms require special privileges or extensions to access low-level input control. If the current platform configuration does not allow input control, an AWTException will be thrown when trying to construct Robot objects. For example, X-Window systems will throw the exception if the XTEST 2.2 standard extension is not supported (or not enabled) by the X server.
Applications that use Robot for purposes other than self-testing should handle these error conditions gracefully.
| Constructor Summary | |
|---|---|
|
Robot
() Constructs a Robot object in the coordinate system of the primary screen. |
|
|
Robot
(
GraphicsDevice
screen) Creates a Robot for the given screen device. |
|
| Method Summary | |
|---|---|
| BufferedImage |
createScreenCapture
(
Rectangle
screenRect) Creates an image containing pixels read from the screen. |
| void |
delay
(int ms) Sleeps for the specified time. |
| int |
getAutoDelay
() Returns the number of milliseconds this Robot sleeps after generating an event. |
| Color |
getPixelColor
(int x, int y) Returns the color of a pixel at the given screen coordinates. |
| boolean |
isAutoWaitForIdle
() Returns whether this Robot automatically invokes waitForIdle after generating an event. |
| void |
keyPress
(int keycode) Presses a given key. |
| void |
keyRelease
(int keycode) Releases a given key. |
| void |
mouseMove
(int x, int y) Moves mouse pointer to given screen coordinates. |
| void |
mousePress
(int buttons) Presses one or more mouse buttons. |
| void |
mouseRelease
(int buttons) Releases one or more mouse buttons. |
| void |
mouseWheel
(int wheelAmt) Rotates the scroll wheel on wheel-equipped mice. |
| void |
setAutoDelay
(int ms) Sets the number of milliseconds this Robot sleeps after generating an event. |
| void |
setAutoWaitForIdle
(boolean isOn) Sets whether this Robot automatically invokes waitForIdle after generating an event. |
| String |
toString
() Returns a string representation of this Robot. |
| void |
waitForIdle
() Waits until all events currently on the event queue have been processed. |
| Methods inherited from class java.lang. Object |
|---|
| clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
| Constructor Detail |
|---|
public Robot()
throws AWTException
public Robot(GraphicsDevice screen)
throws AWTException
If screen devices are reconfigured such that the coordinate system is affected, the behavior of existing Robot objects is undefined.
| Method Detail |
|---|
public void mouseMove(int x,
int y)
public void mousePress(int buttons)
The mouse buttons should be released using the mouseRelease method.
See Also:
mouseRelease(int)
public void mouseRelease(int buttons)
See Also:
mousePress(int)
public void mouseWheel(int wheelAmt)
public void keyPress(int keycode)
The key should be released using the keyRelease method.
Key codes that have more than one physical key associated with them (e.g. KeyEvent.VK_SHIFT could mean either the left or right shift key) will map to the left key.
keyRelease(int)
,
KeyEvent
public void keyRelease(int keycode)
Key codes that have more than one physical key associated with them (e.g. KeyEvent.VK_SHIFT could mean either the left or right shift key) will map to the left key.
keyPress(int)
,
KeyEvent
public Color getPixelColor(int x,
int y)
public BufferedImage createScreenCapture(Rectangle screenRect)
This image does not include the mouse cursor.
public boolean isAutoWaitForIdle()
public void setAutoWaitForIdle(boolean isOn)
public int getAutoDelay()
public void setAutoDelay(int ms)
public void delay(int ms)
public void waitForIdle()
public String toString()