Download Robot
Document related concepts
no text concepts found
Transcript
Robot M.C. Juan Carlos Olivares Rojas Introducción • La clase java.awt.Robot permite definir un objeto que puede realizar acciones de manera automatizada sobre la interfaz gráfica del sistema. • Cuenta en general con métodos para mover el ratón, presionar botones del ratón, presionar teclas, capturar imágenes, entre otras funcionalidades. Ejemplo import java.awt.AWTException; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; public class Aplicacion { public static void main (String args []) { new Aplicacion(); } Ejemplo Aplicacion() { try { Robot robot = new Robot(); // Simula un click con el ratón robot.mousePress(InputEvent.BUTTON1_MAS K); robot.mouseRelease(InputEvent.BUTTON1_ MASK); // Simula presionar una tecla Ejemplo robot.keyPress(KeyEvent.VK_O); robot.keyRelease(KeyEvent.VK_O); } catch (AWTException e) { e.printStackTrace(); } } } API • La clase cuenta con dos constructores: • Robot() sin argumentos crea un objeto que opera en toda la pantalla. • Robot(GraphicsDevice screen) Construye un objeto Robot en las coordenadas indicadas. • A continuación se describe cada uno de los métodos de la clase. API • java.awt.image.BufferedImage createScreenCapture(Rectangle s) Crea una imagen de las coordenadas indicadas. • void delay(int ms) El objeto se duerme un tiempo especificado de ms milisegundos. • int getAutoDelay() Obtiene el tiempo en que el Robot se está durmiendo. API • Color getPixelColor(int x, int y) Reegresa el color del punto señalado. • boolean isAutowaitForIdle() Checa si el Robot ejecuta waitForIdle() después de un evento. • void keyPress(int keycode) Presiona una tecla. API • void keyRelease(int keycode) Libera una tecla. • void mouseMove(int x, int y) Mueve el puntero del ratón a las coordenadas indicadas. • void mousePress(int buttons) Presiona uno o más botones del ratón. API • void mouseRelease(int buttons) cuando se libera un botón del ratón. Ocurre • void mouseWheel(int wheelAmt) Ocurre cuando gira la rueda del ratón. • void setAutoDelay(int ms) Configura el tiempo de retardo que existe entre cada evento del Robot. API • void setAutowaitForIdle(boolean isOn) Configura el tiempo en que el Robot ejecuta un waitForIdle(). • java.lang.String toString() Convierte el Robot en una cadena de texto. • void waitForIdle() Espera a que todos los eventos de la cola de eventos hayan sido despacahdos. ¿Preguntas, dudas y comentarios?