Seguidores

MIS WEBS



sábado, 13 de enero de 2018

Eventos de teclado con interface KeyListner





Eventos de teclado con interface KeyListner


                 Un evento de teclado se desencadena cuando nuestro usuario ejerce sobre el teclado una determinada combinación de teclas. Cuando estáis en Works y tocáis Control+n el texto se pone en negrita, eso es un evento de teclado.


Para programar eventos de teclado necesitaremos la interface KeyListner, esto nos obliga a programar tres métodos:
  • ·         KeyPressed (KeyEvent e): Tecla presionada, se puede utilizar para combinaciones le podemos decir que si mantiene pulsada una tecla y después toca otra, os suena de algo esto (Ctrl+t , Ctrl+x, Ctrl+z…) pues si introducimos un if lo tenemos.  .
  • ·         KeyReleased (KeyEvent e): Tecla liberada, cuando soltamos la tecla.
  •       KeyTyped (KeyEvent e): Clave mecanografiada, cuando hemos presionado la tecla y la hemos soltado.

Si no queremos crear todos los métodos porque solo vamos a utilizar uno de ellos tenemos la clase adaptadora KeyAdapter.

La case keyAdapter hereda de la interface KeyEvent por lo que tendremos a nuestra disposición todos los métodos de ella:

  • getKeyChar(): Nos regresa la tecla pulsada.
  • getKeyChar(): Nos regresa el código que representa para java la tecla pulsada

Podemos crear la clase que implementa e implementar la interface KeyListener, hecho que nos obligará a crear los tres métodos.


En el siguiente ejemplo java escribirá en la pantalla de inmediato de nuestro equipo cada tecla que nosotros vallamos pulsando.


class EscuchaTeclado implements KeyListener{//oyente
       public void keyPressed(KeyEvent e) {
             int codice=e.getKeyChar();
             System.out.print(e);
       }
       public void keyReleased(KeyEvent e) {   }
       public void keyTyped(KeyEvent e) {}
}

Y luego llamarla desde el constructor del frame:


class Marco_1000 extends JFrame{
       public Marco_1000() {
       EscuchaTeclado tecla = new EscuchaTeclado();
       addKeyListener(tecla);
       ModificaEstados cambio = new ModificaEstados();
       Lamina1000 l1 = new Lamina1000();
       add(l1);
       addWindowStateListener(cambio);
      
       setVisible(true);  
       }
}

No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital