|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.Robot
public class Robot
此類別用於為測試自動化、自運行演示程序和其他需要控制鼠標和鍵盤的應用程序產生本機系統輸入事件。Robot 的主要目的是便於 Java 平臺實作自動測試。
使用該類別產生輸入事件與將事件發送到 AWT 事件佇列或 AWT 元件的區別在於:事件是在平臺的本機輸入佇列中產生的。例如,Robot.mouseMove
將實際移動鼠標鼠標,而不是只產生鼠標移動事件。
注意,某些平臺需要特定權限或擴展來存取低層級輸入控制元件。如果當前平臺配置不允許使用輸入控制元件,那麼試圖建構 Robot 物件時將拋出 AWTException
。例如,如果 X 伺服器不支持(或沒有啟用)XTEST 2.2 標準擴展,則 X-Window 系統會拋出異常。
出於自測試之外的目的而使用 Robot 的應用程序應妥善處理這些錯誤條件。
建構子摘要 | |
---|---|
Robot()
在基本螢幕坐標系中建構一個 Robot 物件。 |
|
Robot(GraphicsDevice screen)
為給定螢幕設備創建一個 Robot 。 |
方法摘要 | |
---|---|
BufferedImage |
createScreenCapture(Rectangle screenRect)
創建包含從螢幕中讀取的像素的圖像。 |
void |
delay(int ms)
睡眠指定的時間。 |
int |
getAutoDelay()
返回此 Robot 在產生一個事件後睡眠的毫秒數。 |
Color |
getPixelColor(int x,
int y)
返回給定螢幕坐標處的像素顏色。 |
boolean |
isAutoWaitForIdle()
返回此 Robot 在產生一個事件後是否自動調用 waitForIdle 。 |
void |
keyPress(int keycode)
按下給定的鍵。 |
void |
keyRelease(int keycode)
釋放給定的鍵。 |
void |
mouseMove(int x,
int y)
將鼠標指針移動到給定螢幕坐標。 |
void |
mousePress(int buttons)
按下一個或多個鼠標按鈕。 |
void |
mouseRelease(int buttons)
釋放一個或多個鼠標按鈕。 |
void |
mouseWheel(int wheelAmt)
在配有滾輪的鼠標上旋轉滾輪。 |
void |
setAutoDelay(int ms)
設置此 Robot 在產生一個事件後睡眠的毫秒數。 |
void |
setAutoWaitForIdle(boolean isOn)
設置此 Robot 在產生一個事件後是否自動調用 waitForIdle 。 |
String |
toString()
返回此 Robot 的字元串表示形式。 |
void |
waitForIdle()
在處理完當前事件佇列中的所有事件之前,一直等待。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public Robot() throws AWTException
AWTException
- 如果平臺配置不允許使用低層級輸入控制元件。GraphicsEnvironment.isHeadless() 返回 true 時總是拋出此異常
SecurityException
- 如果沒有授予 createRobot
權限GraphicsEnvironment.isHeadless()
,
SecurityManager.checkPermission(java.security.Permission)
,
AWTPermission
public Robot(GraphicsDevice screen) throws AWTException
如果因配置螢幕設備而影響了坐標系,則現有 Robot 物件的行為是不確定的。
screen
- 一個螢幕 GraphicsDevice,指示 Robot 將在該坐標系中進行操作。
AWTException
- 如果平臺配置不允許使用低層級輸入控制元件。GraphicsEnvironment.isHeadless() 返回 true 時總是拋出此異常。
IllegalArgumentException
- 如果 screen
不是一個螢幕 GraphicsDevice。
SecurityException
- 如果沒有授予 createRobot
權限GraphicsEnvironment.isHeadless()
,
GraphicsDevice
,
SecurityManager.checkPermission(java.security.Permission)
,
AWTPermission
方法詳細資訊 |
---|
public void mouseMove(int x, int y)
x
- X 坐標y
- Y 坐標public void mousePress(int buttons)
mouseRelease
方法釋放鼠標按鈕。
buttons
- Button 遮罩碼;一個或多個以下標誌的組合:
InputEvent.BUTTON1_MASK
InputEvent.BUTTON2_MASK
InputEvent.BUTTON3_MASK
IllegalArgumentException
- 如果按鈕遮罩碼是無效組合mouseRelease(int)
public void mouseRelease(int buttons)
buttons
- Button 遮罩碼;一個或多個以下標誌的組合:
InputEvent.BUTTON1_MASK
InputEvent.BUTTON2_MASK
InputEvent.BUTTON3_MASK
IllegalArgumentException
- 如果按鈕遮罩碼是無效組合mousePress(int)
public void mouseWheel(int wheelAmt)
wheelAmt
- 移動鼠標滾輪的“刻痕 (notch)”數,負值表示向上/遠離使用者的運動,正值表示向下/接近使用者的運動。public void keyPress(int keycode)
keyRelease
方法釋放該鍵。
擁有一個以上與之相關的物理鍵(例如,KeyEvent.VK_SHIFT
可能指左 shift 鍵或右 shift 鍵)的鍵程式碼可能映射到左鍵。
keycode
- 要按下的鍵(例如,KeyEvent.VK_A
)
IllegalArgumentException
- 如果 keycode
是一個無效的鍵keyRelease(int)
,
KeyEvent
public void keyRelease(int keycode)
擁有一個以上與之相關的物理鍵(例如,KeyEvent.VK_SHIFT
可能指左 shift 鍵或右 shift 鍵)的鍵程式碼可能映射到左鍵。
keycode
- 要釋放的鍵(例如,KeyEvent.VK_A
)
IllegalArgumentException
- 如果 keycode
是一個無效的鍵keyPress(int)
,
KeyEvent
public Color getPixelColor(int x, int y)
x
- 像素的 X 位置y
- 像素的 Y 位置
public BufferedImage createScreenCapture(Rectangle screenRect)
screenRect
- 將在螢幕坐標中捕獲的 Rect
IllegalArgumentException
- 如果 screenRect
的寬度和高度不大於零
SecurityException
- 如果沒有授予 readDisplayPixels
權限SecurityManager.checkPermission(java.security.Permission)
,
AWTPermission
public boolean isAutoWaitForIdle()
waitForIdle
。
waitForIdle
public void setAutoWaitForIdle(boolean isOn)
waitForIdle
。
isOn
- 是否自動調用 waitForIdle
public int getAutoDelay()
public void setAutoDelay(int ms)
IllegalArgumentException
- 如果 ms
不在 0 到 60,000 毫秒的範圍內public void delay(int ms)
InterruptedException
,可以使用 Thread.sleep()
替代。
ms
- 睡眠的時間,以毫秒為單位
IllegalArgumentException
- 如果 ms
不在 0 到 60,000 毫秒的範圍內Thread.sleep(long)
public void waitForIdle()
IllegalThreadStateException
- 如果調用 AWT 事件指派執行緒public String toString()
Object
中的 toString
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。