Permitir ingreso de números o letras según el campo de texto JTextField - Java

bloquear-ingreso-caracteres-en-campo-de-texto

Validar ingreso de caracteres en un JTextField - JAVA

En ocasiones nuestros programas requieren realizar validaciónes al momento de ingresar datos, a veces se necesita que solo se ingresen números y no se permita o se inhabilite los demas caracteres para determinados campos, también podría ser viceversa, es decir que solo se permita el ingreso de caracteres alfabeticos y bloquear los caracteres numéricos.

A continuación se explica como realizar este proceso en el NetBeans

1. Seleccionar JTexField y asignar evento.

Lo primero que se debe hacer es seleccionar el campo de texto al cual se le desea establecer el limite de caracteres, luego dar clic derecho, seleccionar Events - Key - KeyTyped como se indica en la imagen.

asignar-evento-keytyped

Tan pronto se realice el proceso anterior se genera el código del evento como se muestra en la siguiente imagen

limitar-numero-caracteres

2. Ingresar la condición para limitar el número de caracteres digitados.

En este apartado vamos a agregar el código con la condición. Lo puedes copiar y pegar.

                            
private void txtCelularKeyTyped(java.awt.event.KeyEvent evt) {                                    
    if(txtCelular.getText().length() >= 10)
    {
        evt.consume();
    }
}     

                    

3. Ingresar la condición para permitir solo números

En este apartado se agrega el código con la codición para que solo admita caracteres numéricos. Se observa en la condición que a la variable booleana numeros se le asigna el rango de caractares que se reciben, de acuerdo a los códigos de la tabla ASCII.

                            
private void txtCelularKeyTyped(java.awt.event.KeyEvent evt) {                                    
    int key = evt.getKeyChar();

    boolean numeros = key >= 48 && key <= 57;
        
    if (!numeros)
    {
        evt.consume();
    }

    if (txtTelefonoCliente.getText().trim().length() == 10) {
        evt.consume();
    }
}     

                    

4. Ingresar la condición para permitir solo caracteres alfabéticos

En este apartado se agrega el código con la codición para que solo admita caracteres alfabéticos. Se observa en la condición que a la variable booleana numeros se le asigna el rango de caractares que se reciben, de acuerdo a los códigos de la tabla ASCII.

                            
private void txtCelularKeyTyped(java.awt.event.KeyEvent evt) {                                    
    int key = evt.getKeyChar();

    boolean mayusculas = key >= 65 && key <= 90;
    boolean minusculas = key >= 97 && key <= 122;
    boolean espacio = key == 32;
            
     if (!(minusculas || mayusculas || espacio))
    {
        evt.consume();
    }
}     

                    

Si aún hay dudas del proceso, en el siguiente video también se explica