JavaTM Platform
Standard Ed. 6

java.awt
클래스 Robot

java.lang.Object 
  상위를 확장 java.awt.Robot


public class Robot
extends Object

이 클래스를 이용하면(자), 테스트의 자동화, 자동 실행의 데모, 및 마우스나 키보드 제어가 필요한 어플리케이션을 위해서(때문에), 네이티브인 시스템 입력 이벤트를 생성할 수가 있습니다. Robot 의 주된 목적은, Java 플랫폼 구현 테스트를 자동화하는 것입니다.  

클래스를 사용해, AWT 이벤트 큐에의 이벤트 전송 또는 플랫폼의 네이티브인 입력 큐로 생성되는 AWT 컴퍼넌트와는 다른, 입력 이벤트를 생성합니다. 예를 들어 Robot.mouseMove 에서는, 마우스의 이동 이벤트를 생성하는 것 만이 아니고, 마우스의 커서를 실제로 움직입니다.  

일부의 플랫폼에서는, 저레벨 입력 제어에 액세스하기 위한 , 특별한 특권 또는 확장 기능이 필요합니다. 현재의 플랫폼 구성에서는 입력 제어를 실시할 수 없는 경우, Robot 객체를 구축하려고 하면(자) AWTException 가 throw 됩니다. 예를 들어, X 서버로 XTEST 2.2 표준 확장 기능이 지원되어 있지 않은, 또는 사용할 수 없는 경우, X Window 시스템은 예외를 throw 합니다.  

셀프테스트 이외의 목적으로 Robot 를 사용하는 어플리케이션에서는, 이러한 예외 조건을 정상적으로 처리할 필요가 있습니다.

도입된 버젼:
1.3

생성자 의 개요
Robot ()
          primary 스크린의 좌표 시스템으로 Robot 객체를 구축합니다.
Robot (GraphicsDevice  screen)
          지정된 스크린 디바이스에 Robot 를 작성합니다.
 
메소드의 개요
 BufferedImage createScreenCapture (Rectangle  screenRect)
          스크린으로부터 읽어내는 픽셀 이미지를 작성합니다.
 void delay (int ms)
          지정 시간 sleeve 합니다.
 int getAutoDelay ()
          이벤트 생성 후, 이 Robot 가 sleeve 할 시간을 밀리 세컨드로 돌려줍니다.
 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 개 또는 복수의 mouse button를 누릅니다.
 void mouseRelease (int buttons)
          1 개 또는 복수의 mouse button를 떼어 놓습니다.
 void mouseWheel (int wheelAmt)
          휠 마우스의 휠 스크롤을 회전시킵니다.
 void setAutoDelay (int ms)
          이벤트 생성 후, 이 Robot 가 sleeve 할 시간을 밀리 세컨드로 설정합니다.
 void setAutoWaitForIdle (boolean isOn)
          이벤트 생성 후, 이 Robot 가 waitForIdle 를 자동으로 기동할지 어떨지를 설정합니다.
 String toString ()
          이 Robot 의 캐릭터 라인 표현을 돌려줍니다.
 void waitForIdle ()
          현재 이벤트 큐에 있는 모든 이벤트가 처리될 때까지 대기합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

Robot

public Robot()
      throws AWTException 
primary 스크린의 좌표 시스템으로 Robot 객체를 구축합니다.  

예외:
AWTException - 플랫폼 구성이 저레벨 입력 제어를 허가하지 않는 경우. 이 예외는, GraphicsEnvironment.isHeadless()가 true 를 돌려주는 경우는 항상 throw 된다
SecurityException - createRobot 액세스권이 허가되지 않는 경우
관련 항목:
GraphicsEnvironment.isHeadless() , SecurityManager.checkPermission(java.security.Permission) , AWTPermission

Robot

public Robot(GraphicsDevice  screen)
      throws AWTException 
지정된 스크린 디바이스에 Robot 를 작성합니다. mouseMove 나 createScreenCapture 등의 Robot 메소드 호출에게 건네진 좌표는, 지정한 스크린과 같은 좌표계로서 해석됩니다. 플랫폼 구성에 따라서는, 복수 스크린으로 다음 일 을 할 수가 있습니다. 이 생성자 은 후자의 경우입니다.  

스크린 디바이스로 좌표계에 영향이 나오도록(듯이) 복구 이루어지고 있는 경우, 기존의 Robot 객체의 동작은 보증되지 않습니다.

파라미터:
screen - Robot 가 동작하는 좌표계를 나타내는, 스크린 GraphicsDevice
예외:
AWTException - 플랫폼 구성이 저레벨 입력 제어를 허가하지 않는 경우. 이 예외는, GraphicsEnvironment.isHeadless()가 true 를 돌려주는 경우는 항상 throw 된다
IllegalArgumentException - screen 가 스크린 GraphicsDevice 에서는 없는 경우
SecurityException - createRobot 액세스권이 허가되지 않는 경우
관련 항목:
GraphicsEnvironment.isHeadless() , GraphicsDevice , SecurityManager.checkPermission(java.security.Permission) , AWTPermission
메소드의 상세

mouseMove

public void mouseMove(int x,
                      int y)
지정한 화면 좌표에 마우스 포인터를 이동합니다.

파라미터:
x - X 위치
y - Y 위치

mousePress

public void mousePress(int buttons)
1 개(살) 또는 복수의 mouse button를 누릅니다. mouse button를 떼어 놓으려면 mouseRelease 메소드를 사용할 필요가 있습니다.

파라미터:
buttons - Button 마스크. 다음의 플래그의 1 개 또는 복수의 편성.
  • InputEvent.BUTTON1_MASK
  • InputEvent.BUTTON2_MASK
  • InputEvent.BUTTON3_MASK
예외:
IllegalArgumentException - 버튼 마스크가 유효한 편성에서는 없는 경우
관련 항목:
mouseRelease(int)

mouseRelease

public void mouseRelease(int buttons)
1 개(살) 또는 복수의 mouse button를 떼어 놓습니다.

파라미터:
buttons - Button 마스크. 다음의 플래그의 1 개 또는 복수의 편성.
  • InputEvent.BUTTON1_MASK
  • InputEvent.BUTTON2_MASK
  • InputEvent.BUTTON3_MASK
예외:
IllegalArgumentException - 버튼 마스크가 유효한 편성에서는 없는 경우
관련 항목:
mousePress(int)

mouseWheel

public void mouseWheel(int wheelAmt)
휠 마우스의 휠 스크롤을 회전시킵니다.

파라미터:
wheelAmt - 마우스 휠을 이동하는 「넛치」의 수. 0 보다 작은 값은 사용자로부터 봐 위 또는 멀어질 방향에의 이동을 나타내, 정의 값은 사용자로부터 봐 아래 또는 가까워질 방향에의 이동을 나타내는
도입된 버젼:
1.4

keyPress

public void keyPress(int keycode)
지정된 키를 누릅니다. 키를 떼어 놓으려면 keyRelease 메소드를 사용할 필요가 있습니다.  

2 개(살) 이상의 물리 키를 관련지을 수 있고 있는 키코드 (KeyEvent.VK_SHIFT 는 좌우 양쪽 모두의 쉬프트 키를 나타내는, 등)는, 왼쪽의 키에 맵 됩니다.

파라미터:
keycode - 누르는 대상의 키 (KeyEvent.VK_A 등)
예외:
IllegalArgumentException - keycode 가 유효한 키의 경우
관련 항목:
keyRelease(int) , KeyEvent

keyRelease

public void keyRelease(int keycode)
지정된 키를 떼어 놓습니다.  

2 개(살) 이상의 물리 키를 관련지을 수 있고 있는 키코드 (KeyEvent.VK_SHIFT 는 좌우 양쪽 모두의 쉬프트 키를 나타내는, 등)는, 왼쪽의 키에 맵 됩니다.

파라미터:
keycode - 떼어 놓는 대상의 키 (KeyEvent.VK_A 등)
예외:
IllegalArgumentException - keycode 가 유효한 키가 아닌 경우
관련 항목:
keyPress(int) , KeyEvent

getPixelColor

public Color  getPixelColor(int x,
                           int y)
지정된 화면 좌표로 픽셀의 색을 돌려줍니다.

파라미터:
x - 픽셀의 X 위치
y - 픽셀의 Y 위치
반환값:
픽셀의 색

createScreenCapture

public BufferedImage  createScreenCapture(Rectangle  screenRect)
스크린으로부터 읽어내는 픽셀 이미지를 작성합니다. 이 이미지에는 마우스 커서가 포함되지 않습니다.

파라미터:
screenRect - 화면 좌표로 수중에 넣는 Rect
반환값:
수중에 넣은 이미지
예외:
IllegalArgumentException - screenRect 의 폭 및 높이가 0 보다 작은 경우
SecurityException - readDisplayPixels 액세스권이 허가되지 않는 경우
관련 항목:
SecurityManager.checkPermission(java.security.Permission) , AWTPermission

isAutoWaitForIdle

public boolean isAutoWaitForIdle()
이벤트 생성 후, 이 Robot 가 waitForIdle 를 자동으로 기동할지 어떨지를 돌려줍니다.

반환값:
waitForIdle 가 자동으로 불려 갈지 어떨지

setAutoWaitForIdle

public void setAutoWaitForIdle(boolean isOn)
이벤트 생성 후, 이 Robot 가 waitForIdle 를 자동으로 기동할지 어떨지를 설정합니다.

파라미터:
isOn - waitForIdle 가 자동으로 기동될지 어떨지

getAutoDelay

public int getAutoDelay()
이벤트 생성 후, 이 Robot 가 sleeve 할 시간을 밀리 세컨드로 돌려줍니다.


setAutoDelay

public void setAutoDelay(int ms)
이벤트 생성 후, 이 Robot 가 sleeve 할 시간을 밀리 세컨드로 설정합니다.

예외:
IllegalArgumentException - ms 가 0 에서 60,000 밀리 세컨드의 범위에 없는 경우

delay

public void delay(int ms)
지정 시간 sleeve 합니다. 발생하는 임의의 InterruptedException 를 캐치 하기 위해서, 대신에 Thread.sleep() 가 사용됩니다.

파라미터:
ms - 밀리 세컨드 단위의 sleeve 시간
예외:
IllegalArgumentException - ms 가 0 에서 60,000 밀리 세컨드의 범위에 없는 경우
관련 항목:
Thread.sleep(long)

waitForIdle

public void waitForIdle()
현재 이벤트 큐에 있는 모든 이벤트가 처리될 때까지 대기합니다.

예외:
IllegalThreadStateException - 착신측의 AWT 이벤트가 thread를 발송 하고 있는 경우

toString

public String  toString()
이 Robot 의 캐릭터 라인 표현을 돌려줍니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
캐릭터 라인 표현

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.