java.awt.event
Interface KeyListener
Métodos:
- void keyPressed(KeyEvent e)
- Invocada cuando una tecla fue presionada.
- void keyReleased(KeyEvent e)
- Invocada cuando una tecla fue soltada.
- void keyType(KeyEvent e)
- Invocada cuando una tecla fue tipeada.
Class KeyEvent
java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ComponentEvent
java.awt.event.InputEvent
java.awt.event.KeyEvent
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ComponentEvent
java.awt.event.InputEvent
java.awt.event.KeyEvent
Desde y otra vez acederemos a un quien genero el evento con getKeyChar() que nos
devuelve el caracter de la tecla asociada al evento o devolvera la constante de clase: KeyEvent.CHAR_UNDEFINED.
Para que un componente pueda recibir eventos de tecla es necesario que reciba el foco, los campos de textos, las areas de textos ya cuentan con esta propiedad pero otros componentes también pueden hacerlo mediante setFocusable(true);
Para que un componente pueda recibir eventos de tecla es necesario que reciba el foco, los campos de textos, las areas de textos ya cuentan con esta propiedad pero otros componentes también pueden hacerlo mediante setFocusable(true);
- package eventos;
- import java.awt.*;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import javax.swing.*;
- public Teclas(){
- super("Demostración de KeyListener");
- setSize(350,100);
- setLocationRelativeTo(null);
- addKeyListener(this);
- setLayout(borde);
- setVisible(true);
- }
- new Teclas();
- }
- tecla.setText("Tecla Pulsada = '" e.getKeyChar() "'");
- }
- }
- }
- }
Un pequeño ejemplo de un mini-ahorcado con el uso de KeyListener, es lo suficientemente báscio con un palabra, sin intentos, etc. Hay que notar que el código está escrito para letras minúsculas y no Mayúsculas:
- import java.awt.*;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import javax.swing.*;
- char[] palabras = {'h','o','l','a'};
- public MiniAhorcado(){
- super("Bienvenidos al juego del ahorcado");
- setSize(380,110);
- setLocationRelativeTo(null);
- setLayout(layout);
- add(bienvenida);
- panel.add(h);panel.add(o1);panel.add(l);panel.add(a);
- panel.add(m);panel.add(u);panel.add(n);panel.add(d);panel.add(o2);
- add(panel);
- add(tecla);
- addKeyListener(this);
- setVisible(true);
- }
- char caracter = e.getKeyChar();
- tecla.setText("Tecla Pulsada = '" caracter "'");
- adivina(caracter);
- }
- new MiniAhorcado();
- }
- public void adivina(char c){
- switch(c){
- case 'h':
- h.setText("H");
- break;
- case 'o':
- o1.setText("O");
- o2.setText("O");
- break;
- case 'l':
- l.setText("L");
- break;
- case 'a':
- a.setText("A ");
- break;
- case 'm':
- m.setText(" M");
- break;
- case 'u':
- u.setText("U");
- break;
- case 'n':
- n.setText("N");
- break;
- case 'd':
- d.setText("D");
- break;
- }
- }
- }
No hay comentarios:
Publicar un comentario