Icono play
Java
Key Listener

Entre los listeners o “escuchadores de eventos en java” se encuentra Key Listener que es una interfaz de este lenguaje de programación que se encarga de gestionar los eventos que están asociados al teclado. 

En esencia, esta interfaz del paquete java.awt.event proporciona los métodos necesarios para que nuestra aplicación pueda interactuar con su usuario final a través del teclado.

Es decir, una vez que el usuario pulse una tecla, Key Listener desencadenará sus métodos para que ejecuten las instrucciones que habremos programado previamente.

Métodos de la interfaz Key Listener en Java

Si consultamos la documentación de Java, veremos que la interfaz Key Listener implementa 3 métodos y cada uno tiene unas características particulares:

Método keyPressed

Al presionar cualquier tecla, se ejecuta el evento y las instrucciones que hemos preparado para él, sin necesidad de dejar de pulsar la tecla. Es decir, se ejecuta en el mismo instante en que presionamos la tecla.

Se ve de la siguiente manera:

public void keyPressed (KeyEvent e) {
bloque de instrucciones
}

Método keyTyped

Este es un método que se ejecutará cuando se presione una tecla que sea tipo Unicode, de no ser así no se producirá el evento que hemos programado. Es decir, no ejecuta el evento si se ha pulsado una tecla de funciones especiales como, shift, alt, Ctrl, etc.

Se ve de la siguiente manera:

public void keyTyped(KeyEvent e){
bloque de instrucciones
}

Método keyReleased

Es el método que se ejecutará cuando, luego de presionar una tecla, cualquier tecla, al soltarla, se lleven a cabo las instrucciones que como programadores hemos escrito.

Se ve así:

public void keyReleased(KeyEvent e){
bloque de instrucciones
}

Ejemplo de como implementar Key Listener

A continuación podemos ver un ejemplo que muestra cómo funciona cada uno de los métodos que tiene la interfaz Key Listener

package key;

import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class KEY implements KeyListener

{
    public void keyTyped(KeyEvent e) {
        System.out.println("La tecla pulsada NO es una tecla con funciones especiales");
    }

    public void keyPressed(KeyEvent e) {
        System.out.println("Presionaste la tecla: " + e.getKeyChar());
    }

    public void keyReleased(KeyEvent e) {
        System.out.println("Soltaste la tecla: " + e.getKeyChar());
    }

    public static void main(String[] args) {

        //Creamos un frame y una etiqueta
        Frame f = new Frame("Cómo funciona Key Listener");
        f.setLayout(new FlowLayout());
        f.setSize(300, 100);
        Label l = new Label();
        l.setText("Pulsa una tecla:");
        f.add(l);
        f.setVisible(true);

        //Creamos el key listener
        KEY k = new KEY();
        f.addKeyListener(k);
    }
}



//Creamos el key listener

KEY k = new KEY();

f.addKeyListener(k);

}

}

De nuevo, es importante recordar que los entornos de desarrollo integrado (IDE) tienen herramientas incorporadas que permiten reducir el tiempo que toma la codificación de los eventos de este tipo. Sin embargo, es relevante revisar el procedimiento para comprender cómo funciona este aspecto.

¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: