Código de la gestión de un evento KeyPressed con el siguiente contenido:
private void gestionaEntrada() {
this.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
char caracter = e.getKeyChar();
switch (tipo) {
case "Entero":
if (!(Character.isDigit(caracter)) && (caracter != KeyEvent.VK_BACK_SPACE)) {
e.consume();
}
break;
case "Real":
if ((!Character.isDigit(caracter))
&& ((caracter < '.') || (caracter > '.'))
&& (caracter != KeyEvent.VK_BACK_SPACE)) {
e.consume(); // si la tecla pulsada no es un digito, un punto o BACK_SPACE ignorar el evento de teclado
} else {
if (getText().contains(".")) {
if ((!Character.isDigit(caracter))
&& (caracter != KeyEvent.VK_BACK_SPACE)) {
e.consume(); // ignorar el evento de teclado
}
}
}
break;
}
}
}