Yo el programador

Validación de JTextField: TextField numérico, puntos y comas

Seguramente alguna vez te haz encontrado con la necesidad de validar la entrada de datos en algún campo de texto JTextField, por ejemplo que el usuario solo pueda ingresar números dentro del JTextField.

Pues bien conociendo las propiedades adecuadas es posible ajustar las validaciones necesarias para cada tipo de entrada, por ejemplo que acepte solo números, letras, puntos etc.

En este caso la validación será para que el JTextField acepte sólo números

Como ejemplo para este caso usamos un JTexField que solo debe permitir que se ingrese números desde el 0 al 9. Tenemos que editar el evento KeyTyped del JTextfield como se muestra en la imagen, para aceder a ella hacemos clic derecho sobre el jTextfield y seleccionamos Events –> Key –> KeyTyped.

Evento KeyTyped de un JTextField

Dentro del evento KeyTyped escribimos el siguiente código

char car = evt.getKeyChar();
if((car<'0' || car>'9')) evt.consume();

El código completo quedaría de esta forma

private void txtNumeroKeyTyped(java.awt.event.KeyEvent evt) {                                         
        char car = evt.getKeyChar();
        if((car<'0' || car>'9') && (car<',' || car>'.')) evt.consume();
        
    }

En el caso de que querramos que el campo de texto soporte números y comas para uso con monedas o puntos decimales el código sería el siguiente.

char car = evt.getKeyChar();
if((car<'0' || car>'9') & (car<'.') || car>'.') evt.consume();

Esto nos permitirá introducir caracteres numéricos con puntos o comas EJ. 1,000.52.

Cada vez que el usuario presione una tecla, se generará este evento y lo que hacemos es sacar el carácter que presiono el usuario que se almacena en la variable evt. Luego, en un simple if decimos: si el carácter no esta entre 0 y 9 lo desechamos . Y de esta manera logramos que el JTextField acepte sólo números.

Salir de la versión móvil