Robot (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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`
  반환값:
    캐릭터 라인 표현

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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 도 참조해 주세요.