public class Robot extends Object
ã¯ã©ã¹ã䜿çšããŠãAWTã€ãã³ãã»ãã¥ãŒãžã®ã€ãã³ã転éãŸãã¯ãã©ãããã©ãŒã ã®ãã€ãã£ããªå
¥åãã¥ãŒã§çæãããAWTã³ã³ããŒãã³ããšã¯ç°ãªããå
¥åã€ãã³ããçæããŸãã ããšãã°Robot.mouseMoveã§ã¯ãããŠã¹ã®ç§»åã€ãã³ããçæããã ãã§ã¯ãªããããŠã¹ã®ã«ãŒãœã«ãå®éã«åãããŸãã
äžéšã®ãã©ãããã©ãŒã ã§ã¯ãäœã¬ãã«å
¥åå¶åŸ¡ã«ã¢ã¯ã»ã¹ããããã®ãç¹å¥ãªç¹æš©ãŸãã¯æ¡åŒµæ©èœãå¿
èŠã§ãã çŸåšã®ãã©ãããã©ãŒã æ§æã§ã¯å
¥åå¶åŸ¡ãè¡ããªãå ŽåãRobotãªããžã§ã¯ããæ§ç¯ããããšãããšAWTExceptionãã¹ããŒãããŸãã ããšãã°ãXãµãŒããŒã§XTEST 2.2æšæºæ¡åŒµæ©èœããµããŒããããŠããªãããŸãã¯äœ¿çšã§ããªãå ŽåãX Windowã·ã¹ãã ã¯äŸå€ãã¹ããŒããŸãã
ã»ã«ãã»ãã¹ã以å€ã®ç®çã§Robotã䜿çšããã¢ããªã±ãŒã·ã§ã³ã§ã¯ããããã®äŸå€æ¡ä»¶ãæ£åžžã«åŠçããå¿ èŠããããŸãã
ãã©ãããã©ãŒã ããã³ãã¹ã¯ãããç°å¢ã§ã¯ã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) |
1ã€ãŸãã¯è€æ°ã®ããŠã¹ã»ãã¿ã³ãæŒããŸãã
|
void |
mouseRelease(int buttons) |
1ã€ãŸãã¯è€æ°ã®ããŠã¹ã»ãã¿ã³ãé¢ããŸãã
|
void |
mouseWheel(int wheelAmt) |
ãã€ãŒã«ã»ããŠã¹ã®ãã€ãŒã«ã»ã¹ã¯ããŒã«ãå転ãããŸãã
|
void |
setAutoDelay(int ms) |
ã€ãã³ãçæåŸããã®Robotãã¹ãªãŒãããæéãããªç§ã§èšå®ããŸãã
|
void |
setAutoWaitForIdle(boolean isOn) |
ã€ãã³ããçæããããšããã®Robotã
waitForIdleãèªåçã«åŒã³åºããã©ãããèšå®ããŸãã |
String |
toString() |
ãã®Robotã®æåå衚çŸãè¿ããŸãã
|
void |
waitForIdle() |
çŸåšã€ãã³ãã»ãã¥ãŒã«ãããã¹ãŠã®ã€ãã³ããåŠçããããŸã§åŸ
æ©ããŸãã
|
public Robot()
throws AWTException
AWTException - ãã©ãããã©ãŒã æ§æã§äœã¬ãã«ã®å
¥åå¶åŸ¡ãèš±å¯ãããªãå Žåã ãã®äŸå€ã¯GraphicsEnvironment.isHeadless()ãtrueãè¿ãå Žåã«å¿
ãã¹ããŒããã SecurityException - createRobotã¢ã¯ã»ã¹æš©ãèš±å¯ãããªãå ŽåGraphicsEnvironment.isHeadless(), SecurityManager.checkPermission(java.security.Permission), AWTPermissionpublic Robot(GraphicsDevice screen) throws AWTException
ã¹ã¯ãªãŒã³ã»ããã€ã¹ã§åº§æšç³»ã«åœ±é¿ãã§ãããã«åæ§æãããŠããå Žåãæ¢åã®Robotãªããžã§ã¯ãã®åäœã¯ä¿èšŒãããŸããã
screen - Robotãåäœãã座æšç³»ã瀺ããã¹ã¯ãªãŒã³GraphicsDeviceãAWTException - ãã©ãããã©ãŒã æ§æã§äœã¬ãã«ã®å
¥åå¶åŸ¡ãèš±å¯ãããªãå Žåã ãã®äŸå€ã¯GraphicsEnvironment.isHeadless()ãtrueãè¿ãå Žåã«å¿
ãã¹ããŒããã IllegalArgumentException - screenãã¹ã¯ãªãŒã³GraphicsDeviceã§ã¯ãªãå ŽåãSecurityException - createRobotã¢ã¯ã»ã¹æš©ãèš±å¯ãããªãå ŽåGraphicsEnvironment.isHeadless(), GraphicsDevice, SecurityManager.checkPermission(java.security.Permission), AWTPermissionpublic void mouseMove(int x,
int y)
äžéšã®ãã©ãããã©ãŒã ã§ã¯ããŠã¹ã»ãã€ã³ã¿ãèŠèŠçã«ç§»åããªãå ŽåããããŸãããåŸç¶ã®mousePressããã³mouseReleaseã¯æ£ãããã±ãŒã·ã§ã³ã«é ä¿¡ã§ããŸã
x - Xäœçœ®y - Yäœçœ®public void mousePress(int buttons)
mouseRelease(int)ã¡ãœããã䜿çšããå¿
èŠããããŸãã buttons - Buttonãã¹ã¯ã1ã€ä»¥äžã®ããŠã¹ã»ãã¿ã³ã»ãã¹ã¯ã®çµã¿åããã
buttonsãã©ã¡ãŒã¿ãšããŠæå¹ãªå€ã®çµã¿åããã®ã¿ã®äœ¿çšãèš±å¯ãããŸãã æå¹ãªçµã¿åããã¯ãInputEvent.getMaskForButton(button)ã¡ãœããã«ãã£ãŠè¿ãããInputEvent.BUTTON1_DOWN_MASKãInputEvent.BUTTON2_DOWN_MASKãInputEvent.BUTTON3_DOWN_MASKãããã³å€ã§æ§æãããŸãã æå¹ãªçµã¿åããã¯ã次ã®ããã«Toolkit.areExtraMouseButtonsEnabled()å€ã«ãã£ãŠãç°ãªããŸãã
disabledã«ãããŠããå Žåã¯ãæšæºãã¿ã³ã»ãã¹ã¯InputEvent.BUTTON1_DOWN_MASKãInputEvent.BUTTON2_DOWN_MASKãInputEvent.BUTTON3_DOWN_MASKã®ã¿ã䜿çšã§ããŸãã
enabledã«ãããŠããå Žåã¯ãæšæºãã¿ã³ã»ãã¹ã¯ã䜿çšã§ããããŠã¹ã«4ã€ä»¥äžã®ãã¿ã³ãããã°ãååšããæ¡åŒµããŠã¹ã»ãã¿ã³ã®ãã¹ã¯ã䜿çšã§ããŸãã ãã®ããã«ããŠã1ããMouseInfo.getNumberOfButtons()ãŸã§ã®ç¯å²ã®ãã¿ã³ã«å¯Ÿå¿ãããã¿ã³ã»ãã¹ã¯ã®äœ¿çšãèš±å¯ãããŸãã InputEvent.getMaskForButton(button)ã¡ãœããã䜿çšããŠãä»»æã®ããŠã¹ã»ãã¿ã³ã®ãã¹ã¯ããã®çªå·ã§ååŸããããšããèŠãããŸãã
ãŸããæ¬¡ã®æšæºã®ãã¿ã³ã»ãã¹ã¯ãåãå ¥ããããŸãã
InputEvent.BUTTON1_MASK
InputEvent.BUTTON2_MASK
InputEvent.BUTTON3_MASK
InputEvent.BUTTON1_DOWN_MASKãInputEvent.BUTTON2_DOWN_MASKãInputEvent.BUTTON3_DOWN_MASKã䜿çšããããšããèŠãããŸãã æ¡åŒµããã_DOWN_MASKãŸãã¯å€ã_MASKã®ã©ã¡ããã®å€ã䜿çšããã¹ãã§ããããããã®äž¡æ¹ã®ã¢ãã«ãæ··åšãããŠã¯ãããŸããã IllegalArgumentException - buttonsãã¹ã¯ã«è¿œå ã®ããŠã¹ã»ãã¿ã³ã®ãã¹ã¯ãå«ãŸããæ¡åŒµãããããŠã¹ã»ãã¿ã³ã®ãµããŒããJavaã«ãã£ãŠdisabledã«ãªã£ãŠããå ŽåIllegalArgumentException - buttonsãã¹ã¯ã«ãããŠã¹äžã«ååšããªã远å ã®ããŠã¹ã»ãã¿ã³ã®ãã¹ã¯ãå«ãŸããæ¡åŒµãããããŠã¹ã»ãã¿ã³ã®ãµããŒããJavaã«ãã£ãŠenabledã«ãªã£ãŠããå ŽåmouseRelease(int), InputEvent.getMaskForButton(int), Toolkit.areExtraMouseButtonsEnabled(), MouseInfo.getNumberOfButtons(), MouseEventpublic void mouseRelease(int buttons)
buttons - Buttonãã¹ã¯ã1ã€ä»¥äžã®ããŠã¹ã»ãã¿ã³ã»ãã¹ã¯ã®çµã¿åããã
buttonsãã©ã¡ãŒã¿ãšããŠæå¹ãªå€ã®çµã¿åããã®ã¿ã®äœ¿çšãèš±å¯ãããŸãã æå¹ãªçµã¿åããã¯ãInputEvent.getMaskForButton(button)ã¡ãœããã«ãã£ãŠè¿ãããInputEvent.BUTTON1_DOWN_MASKãInputEvent.BUTTON2_DOWN_MASKãInputEvent.BUTTON3_DOWN_MASKãããã³å€ã§æ§æãããŸãã æå¹ãªçµã¿åããã¯ã次ã®ããã«Toolkit.areExtraMouseButtonsEnabled()å€ã«ãã£ãŠãç°ãªããŸãã
disabledã«ãããŠããå Žåã¯ãæšæºãã¿ã³ã»ãã¹ã¯InputEvent.BUTTON1_DOWN_MASKãInputEvent.BUTTON2_DOWN_MASKãInputEvent.BUTTON3_DOWN_MASKã®ã¿ã䜿çšã§ããŸãã
enabledã«ãããŠããå Žåã¯ãæšæºãã¿ã³ã»ãã¹ã¯ã䜿çšã§ããããŠã¹ã«4ã€ä»¥äžã®ãã¿ã³ãããã°ãååšããæ¡åŒµããŠã¹ã»ãã¿ã³ã®ãã¹ã¯ã䜿çšã§ããŸãã ãã®ããã«ããŠã1ããMouseInfo.getNumberOfButtons()ãŸã§ã®ç¯å²ã®ãã¿ã³ã«å¯Ÿå¿ãããã¿ã³ã»ãã¹ã¯ã®äœ¿çšãèš±å¯ãããŸãã InputEvent.getMaskForButton(button)ã¡ãœããã䜿çšããŠãä»»æã®ããŠã¹ã»ãã¿ã³ã®ãã¹ã¯ããã®çªå·ã§ååŸããããšããèŠãããŸãã
ãŸããæ¬¡ã®æšæºã®ãã¿ã³ã»ãã¹ã¯ãåãå ¥ããããŸãã
InputEvent.BUTTON1_MASK
InputEvent.BUTTON2_MASK
InputEvent.BUTTON3_MASK
InputEvent.BUTTON1_DOWN_MASKãInputEvent.BUTTON2_DOWN_MASKãInputEvent.BUTTON3_DOWN_MASKã䜿çšããããšããèŠãããŸãã æ¡åŒµããã_DOWN_MASKãŸãã¯å€ã_MASKã®ã©ã¡ããã®å€ã䜿çšããã¹ãã§ããããããã®äž¡æ¹ã®ã¢ãã«ãæ··åšãããŠã¯ãããŸããã IllegalArgumentException - buttonsãã¹ã¯ã«è¿œå ã®ããŠã¹ã»ãã¿ã³ã®ãã¹ã¯ãå«ãŸããæ¡åŒµãããããŠã¹ã»ãã¿ã³ã®ãµããŒããJavaã«ãã£ãŠdisabledã«ãªã£ãŠããå ŽåIllegalArgumentException - buttonsãã¹ã¯ã«ãããŠã¹äžã«ååšããªã远å ã®ããŠã¹ã»ãã¿ã³ã®ãã¹ã¯ãå«ãŸããæ¡åŒµãããããŠã¹ã»ãã¿ã³ã®ãµããŒããJavaã«ãã£ãŠenabledã«ãªã£ãŠããå ŽåmousePress(int), InputEvent.getMaskForButton(int), Toolkit.areExtraMouseButtonsEnabled(), MouseInfo.getNumberOfButtons(), MouseEventpublic void mouseWheel(int wheelAmt)
wheelAmt - ããŠã¹ã»ãã€ãŒã«ãç§»åãããããããã®æ°ãè² ã®å€ã¯ãŠãŒã¶ãŒããèŠãŠäžãŸãã¯é¢ããæ¹åãžã®ç§»åã瀺ããæ£ã®å€ã¯ãŠãŒã¶ãŒããèŠãŠäžãŸãã¯è¿ã¥ãæ¹åãžã®ç§»åã瀺ããpublic void keyPress(int keycode)
keyReleaseã¡ãœããã䜿çšããå¿
èŠããããŸãã
è€æ°ã®ç©ççãªããŒãé¢é£ä»ããããŠããããŒã»ã³ãŒã(ããšãã°ãKeyEvent.VK_SHIFTã¯å·ŠãŸãã¯å³ã®ShiftããŒã瀺ãå¯èœæ§ããã)ã¯ãå·Šã®ããŒã«ããããããŸãã
keycode - æŒã察象ã®ããŒ(KeyEvent.VK_Aãªã©)IllegalArgumentException - keycodeãæå¹ãªããŒã§ãªãå ŽåkeyRelease(int), KeyEventpublic void keyRelease(int keycode)
è€æ°ã®ç©ççãªããŒãé¢é£ä»ããããŠããããŒã»ã³ãŒã(ããšãã°ãKeyEvent.VK_SHIFTã¯å·ŠãŸãã¯å³ã®ShiftããŒã瀺ãå¯èœæ§ããã)ã¯ãå·Šã®ããŒã«ããããããŸãã
keycode - é¢ã察象ã®ããŒ(KeyEvent.VK_Aãªã©)IllegalArgumentException - keycodeãæå¹ãªããŒã§ãªãå ŽåkeyPress(int), KeyEventpublic Color getPixelColor(int x, int y)
ãã¹ã¯ãããç°å¢ã§ç»é¢ã³ã³ãã³ããååŸããããã®æš©éãä»äžããå¿
èŠããããå¿
èŠãªæš©éãä»äžãããŠããªãå ŽåãSecurityExceptionãã¹ããŒãããããæ»ãããColorã®ã³ã³ãã³ããæªå®çŸ©ã«ãªããŸãã
x - ãã¯ã»ã«ã®Xäœçœ®y - ãã¯ã»ã«ã®Yäœçœ®SecurityException - readDisplayPixelsã¢ã¯ã»ã¹æš©ãä»äžãããŠããªãå ŽåããŸãã¯ãã¹ã¯ãããç°å¢ã«ãã£ãŠç»é¢ãžã®ã¢ã¯ã»ã¹ãæåŠãããå Žåpublic BufferedImage createScreenCapture(Rectangle screenRect)
ãã¹ã¯ãããç°å¢ã§ç»é¢ã³ã³ãã³ããååŸããããã®æš©éãä»äžããå¿
èŠããããå¿
èŠãªæš©éãä»äžãããŠããªãå ŽåãSecurityExceptionãã¹ããŒããããããŸãã¯æ»ãããBufferedImageã®å
容ãå®çŸ©ãããŠããŸããã
screenRect - ã¹ã¯ãªãŒã³åº§æšã§åã蟌ãRectIllegalArgumentException - screenRectã®å¹
ããã³é«ãã0以äžã®å ŽåSecurityException - readDisplayPixelsã¢ã¯ã»ã¹æš©ãä»äžãããŠããªãå ŽåããŸãã¯ãã¹ã¯ãããç°å¢ã«ãã£ãŠç»é¢ãžã®ã¢ã¯ã»ã¹ãæåŠãããå ŽåSecurityManager.checkPermission(java.security.Permission), AWTPermissionpublic 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ã€ãã³ãã»ãã£ã¹ãããã»ã¹ã¬ããã«å¯ŸããŠåŒã³åºãããå Žå ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã