Robot — 네이티브 입력 이벤트 생성

Robot — 네이티브 입력 이벤트 생성

Robot 클래스는 테스트 자동화, 자동 데모, 마우스와 키보드 제어가 필요한 다른 애플리케이션을 위해 네이티브 시스템 입력 이벤트를 생성하는 데 사용돼요.

출처: Java API Reference

본문

public class Robot extends Object

Robot의 주요 목적은 Java 플랫폼 구현의 자동화된 테스트를 돕는 것이에요. 이 클래스로 입력 이벤트를 생성하는 것은 AWT 이벤트 큐나 AWT 컴포넌트에 이벤트를 게시하는 것과 달라요. 이 이벤트는 플랫폼의 네이티브 입력 큐에서 생성되기 때문이에요. 예를 들어 Robot.mouseMove는 마우스 이동 이벤트만 생성하는 대신 실제로 마우스 커서를 움직여요.

일부 플랫폼은 저수준 입력 제어에 접근하려면 특수 권한이나 확장이 필요해요.

생성자

  • Robot() — 기본 화면의 좌표계로 Robot 객체를 만들어요.
  • Robot(GraphicsDevice screen) — 지정한 화면 장치에 대한 Robot을 만들어요. Robot에 전달되는 좌표는 이 장치의 좌표계로 해석돼요.

둘 다 화면 장치를 사용할 수 없으면 AWTException을 던져요.

주요 메서드

  • mouseMove(int x, int y) — 마우스 포인터를 지정한 화면 좌표로 이동해요.
  • mousePress(int buttons) / mouseRelease(int buttons) — 마우스 버튼을 누르고 뗀다.
  • keyPress(int keycode) / keyRelease(int keycode) — 키를 누르고 뗀다.
  • createScreenCapture(Rectangle screenRect) — 지정한 영역의 화면을 캡처해 이미지로 반환해요.
  • waitForIdle() — 이벤트 큐가 비워질 때까지 대기해요.
  • setAutoDelay(int ms) — 이벤트 사이의 자동 지연을 설정해요.
Robot robot = new Robot();
robot.mouseMove(100, 200);
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);

더 알아보기