A veces nos interesa que en un JTextField se produzca una acción cuando pulsamos alguna tecla en concreto, como se puede hacer esto, pues es sencillo hacerlo con un evento de tipo KeyListener, es decir, en ved de cuando se produzca una acción, cuando se produzca un evento de teclado, para implementarlo se realiza de la siguiente forma:
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.*;
// creamos nuestra clase e implementamos la interfaz KeyListener que
es la que nos va a dar la posibilidad de escuchar el teclado
public class KeyEventDemo extends JApplet implements KeyListener{
JTextField displayArea; //creamos un campo de texto, donde vamos a escribir
JTextField typingArea;// otro campo de texto donde va a aparecer lo
que escribamos en el campo de arriba
public void init() {
// en esta parte solo le damos forma a la ventanita
typingArea =Â new JTextField(20);
typingArea.addKeyListener(this); //y aqui esta lo importante,
//le decimos que nuestro textbox q va a escuchar el teclado
displayArea =Â new JTextField(20);
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
contentPane.add(typingArea, BorderLayout.NORTH);
contentPane.add(displayArea, BorderLayout.CENTER);
setContentPane(contentPane);
}
// la interfaz keylistener tiene tres metodos, keypressed, cuando presionas una
//tecla, keytyped, cuando esta presionada, y keyreleased, cuando la sueltas
//siempre suceden las tres y dependera de tu caso el cual uses
//aqui usaremos keypressed, e es la tecla que se presiono
public void keyPressed(KeyEvent e) {
displayInfo(e); //llamamos al metodo displayinfo
}
protected void displayInfo(KeyEvent e){
int keyCode = e.getKeyCode(); //obtenemos el codigo de la tecla
String keyText = e.getKeyText(keyCode); //luego el caracter
displayArea.setText(keyText); //lo pintamos en el campo de texto de abajo
}
public void keyTyped(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}
}
Si disfrutaste nuestro artÃculo, siéntete libre de suscribirte a nuestro feed rss