Controlar el Teclado con Java Introduccion

Hola chavoz, antes que nada una disculpa, me tome mis vacaciones decembrinas y pues durante todo el mes de diciembre no escribi nada, pero quiero empezar este año con toda la actitud :D.

Ok entonces empecemos, hoy les voy a mostrar un poco de Java, y explicare un poco de la clase Robot. Con esta clase podemos acceder a los periféricos de nuestra computadora, y para este ejemplo utilizare Java para escribir en bloc de notas. Antes que nada necesitamos escribir nuestra clase.


import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;


public class Escribir {
    Escribir() throws InterruptedException,AWTException{

        Thread.sleep(3000);
       
Robot teclado=new Robot();

        teclado.keyPress(KeyEvent.VK_H);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_H);
        teclado.keyPress(KeyEvent.VK_E);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_E);
        teclado.keyPress(KeyEvent.VK_L);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_L);
        teclado.keyPress(KeyEvent.VK_L);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_L);
        teclado.keyPress(KeyEvent.VK_O);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_O);
        teclado.keyPress(KeyEvent.VK_SPACE);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_SPACE);
        teclado.keyPress(KeyEvent.VK_W);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_W);
        teclado.keyPress(KeyEvent.VK_O);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_O);
        teclado.keyPress(KeyEvent.VK_R);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_R);
        teclado.keyPress(KeyEvent.VK_L);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_L);
        teclado.keyPress(KeyEvent.VK_D);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_D);
    }
   
    public static void main(String args[]){
        try {
            Escribir esc=new Escribir();
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        } catch (AWTException ex) {
            ex.printStackTrace();
        }
    }
}


Ahora solo falta compilarla y correrla. El comportamiento sera el siguiente:

  1. El programa se esperara 3 segundos a que el usuario abra el bloc de notas o donde desee escribir el mensaje "hello world".
  2. El programa escribira la frase.
Como podemos observar en la clase anterior primero dormimos el hilo de ejecución 3000 milisegundos(3 segundos), y después instanciamos nuestro objeto Robot para después proceder a escribir el mensaje. Los métodos keyPress simularan el presionado de una tecla, mientras que los métodos keyRelease simularan el comportamiento cuando una tecla se suelta; a estos métodos se les pasa un valor entero, yo utilizo la linea KeyEvent.VK_ la cual pasara el valor entero de la tecla del teclado que estamos usando, solo después del "_" coloco el nombre de la tecla que quiero que se apriete en teclado.

Esto como se habrán notado es muy simple de realizar y lo mejor es que podemos simular cualquier combinacion de teclas que se vengan a nuestra mente, como el siguiente ejemplo que se me vino a mi mente así de rápido:
  • Windows Task Manager
        Robot teclado=new Robot();
        teclado.keyPress(KeyEvent.VK_CONTROL);
        teclado.keyPress(KeyEvent.VK_SHIFT);
        teclado.keyPress(KeyEvent.VK_ESCAPE);
        Thread.sleep(10);
        teclado.keyRelease(KeyEvent.VK_CONTROL);
        teclado.keyRelease(KeyEvent.VK_SHIFT);
        teclado.keyRelease(KeyEvent.VK_ESCAPE);


Como podemos ver esto nos puede ahorrar mucho tiempo (obvio con estos ejemplo básicos no, resulta mas complicado), es solo que se pongan a explorar la Clase y ver que pueden realizar con ella. Quizás en un futuro escriba algo mas referente a esta clase mientras tanto nos vemos...adiós ^_^. Y si tienen alguna duda o comentario sientanse libres de colocarlo.


Comments

Popular posts from this blog

Juego de Gato Usando HTML, JavaScript y CSS

AfterEffects - Quitar el Fondo de un Video Forma 1: KeyLight

Crear un nuevo Libro de Excel con VBA ES