Robot es parte del paquete java.awt. La clase de robot se utiliza básicamente para generar eventos de entrada del sistema nativo con el fin de realizar demostraciones autoejecutables, automatización de pruebas y otras aplicaciones en las que se utiliza el control del mouse y el teclado.
La clase de robot genera eventos que se pueden usar para controlar el mouse, el teclado y se pueden usar para tomar capturas de pantalla de la pantalla. En este artículo, implementaremos Java Robot para mover o arrastrar el mouse a una ubicación específica.
Métodos utilizados:
- mouseMove(int x, int y) : mueve el mouse a una ubicación específica de la pantalla
- keyPress(int k) : presiona una tecla determinada con un código de tecla especificado
- keyRelease(int k) : libera una clave determinada con un código clave especificado
- mousePress(int b) : presiona uno o más botones del mouse.
- mouseRelease(int b) : Libera uno o más botones del mouse.
Programa 1: programa Java para mover un mouse desde la ubicación inicial a una ubicación específica
Java
// Java program to move a mouse from the initial // location to a specified location import java.awt.*; import java.awt.event.*; import javax.swing.*; class robomouse extends Frame implements ActionListener { // Frame static JFrame f; // textField static TextField x, y; // default constructor robomouse() { } // main function public static void main(String args[]) { // object of class robomouse rm = new robomouse(); // create a frame f = new JFrame("robomouse"); // set the frame to close on exit f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // create textfield x = new TextField(7); y = new TextField(7); // create a button Button b = new Button("OK"); // add actionListener b.addActionListener(rm); // create a panel Panel p = new Panel(); // add items to panel p.add(x); p.add(y); p.add(b); f.add(p); // setsize of frame f.setSize(300, 300); f.show(); } // if button is pressed public void actionPerformed(ActionEvent e) { try { Robot r = new Robot(); int xi1, yi1, xi, yi; // get initial location Point p = MouseInfo.getPointerInfo().getLocation(); xi = p.x; yi = p.y; // get x and y points xi1 = Integer.parseInt(x.getText()); yi1 = Integer.parseInt(y.getText()); int i = xi, j = yi; // slowly move the mouse to defined location while (i != xi1 || j != yi1) { // move the mouse to the other point r.mouseMove(i, j); if (i < xi1) i++; if (j < yi1) j++; if (i > xi1) i--; if (j > yi1) j--; // wait Thread.sleep(30); } } catch (Exception evt) { System.err.println(evt.getMessage()); } } }
Producción :
Programa 2: programa Java para arrastrar un mouse de una ubicación a otra ubicación
Java
import java.awt.*; import java.awt.event.*; import javax.swing.*; class robomouse1 extends Frame implements ActionListener { // Frame static JFrame f; // textField static TextField x, y, x1, y1; // default constructor robomouse1() { } // main function public static void main(String args[]) { // object of class robomouse1 rm = new robomouse1(); // create a frame f = new JFrame("robomouse"); // set the frame to close on exit f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // create textfield x = new TextField(7); y = new TextField(7); x1 = new TextField(7); y1 = new TextField(7); // create a button Button b = new Button("OK"); // add actionListener b.addActionListener(rm); // create a panel Panel p = new Panel(); // create labels Label l, l1; l = new Label("from"); l1 = new Label("to"); // add items to panel p.add(l); p.add(x); p.add(y); p.add(l1); p.add(x1); p.add(y1); p.add(b); f.add(p); // setsize of frame f.setSize(600, 300); f.show(); } // if button is pressed public void actionPerformed(ActionEvent e) { try { Robot r = new Robot(); int xi, yi, xi1, yi1; // get x and y points xi = Integer.parseInt(x.getText()); yi = Integer.parseInt(y.getText()); xi1 = Integer.parseInt(x1.getText()); yi1 = Integer.parseInt(y1.getText()); // move the mouse to that point r.mouseMove(xi, yi); // press the mouse r.mousePress(InputEvent.BUTTON1_MASK); int i = xi, j = yi; // slowly drag the mouse to defined location while (i < xi1 || j < yi1) { // move the mouse to the other point r.mouseMove(i, j); if (i < xi1) i++; if (j < yi1) j++; // wait Thread.sleep(30); } // wait Thread.sleep(4000); // press the mouse r.mouseRelease(InputEvent.BUTTON1_MASK); } catch (Exception evt) { System.err.println(evt.getMessage()); } } }
Producción :
Nota: es posible que el código no se ejecute en un compilador en línea; utilice un IDE sin conexión.
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA