Problema con JTextField y ActionListener()
Buenas tardes, tengo el siguiente código para crear JPanel y que dentro lleven un JLabel y un JtextField:
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class LabelText extends JPanel implements KeyListener {
private JLabel lbl;
private JTextField txt;
// nX, nY Posición del JPanel
// nWL Ancho del JLabel
// nWT, nHT Ancho y alto del JTextField
// cEtiq Etiqueta del JLabel
public LabelText(int nX, int nY, int nWL, int nWT, int nHT, String cEtiq) {
// Posición y dimensión del JPanel
this.setLayout(null);
this.setLocation(nX, nY);
this.setSize(nWL + nWT + 10, nHT);
//this.setBackground(Color.red);
// Creo el JLabel
lbl = new JLabel(cEtiq);
lbl.setLocation(0, 0);
lbl.setSize(nWL, nHT);
// Creo el JTextField
txt = new JTextField();
txt.setLocation(nWL + 10, 0);
txt.setSize(nWT, nHT);
txt.addKeyListener(this);
// Añado los controles al JPanel
add(lbl);
add(txt);
}
@Override
public void keyTyped(KeyEvent e) {
throw new UnsupportedOperationException();
}
@Override
public void keyPressed(KeyEvent e) {
//throw new UnsupportedOperationException();
displayInfo(e);
}
@Override
public void keyReleased(KeyEvent e) {
throw new UnsupportedOperationException();
}
protected void displayInfo(KeyEvent e){
int keyCode = e.getKeyCode();
if (keyCode == 27) {
txt.setText("Pulsado ESCAPE");
}
}
}
Me los crea en un JFrame y me lo creo correctamente, pero no puedo escribir nada en ellos, no se como se hace escuchar al teclado y por ejemplo si pulso la tecla (ESCAPE = 27) que me muestre un mensaje, y si no que escriba normalmente como si nada.
Alguna recomendación?
Que estoy haciendo mal.
- Inicie sesión o regístrese para enviar comentarios
Así mirando por encima creo
Así mirando por encima creo que es porque hay dos eventos que se realizan y tu los estas marcando como no soportados. Entonces cuando ocurren se manda la excepción. ¿Que hay que hacer? Eliminar la siguiente linea:
.
Debería funcionar.