No permitir al usuario pegar texto en un JTextField en Java

Hola a todos, hoy os voy a explicar como podemos evitar que un usuario pegue texto en un JTextField.

Cuando hacemos un formulario para que el usuario inserte datos, es posible que si ese JTextField lo estemos validando o solo pueda tener algunos datos concretos (solo números por ejemplo) nos conviene que evitar que se puedan pegar datos.

Para hacerlo, solo tendremos que hacer lo siguiente, mi recomendación  es ponerlo después del constructor.


InputMap map2 = mi_textfield.getInputMap(JTextField.WHEN_FOCUSED);
map2.put(KeyStroke.getKeyStroke(KeyEvent.VK_V, Event.CTRL_MASK), "null");

Solo cambia mi_textfield por el nombre del tuyo.

También de lo dejo en forma de función:


/**
 * Evita pegar en un textbox
 *
 * @param campo TextBox
 */
public static void evitarPegar(JTextField campo) {

    InputMap map2 = campo.getInputMap(JTextField.WHEN_FOCUSED);
    map2.put(KeyStroke.getKeyStroke(KeyEvent.VK_V, Event.CTRL_MASK), "null");

}

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

¿Te ha gustado y quieres apoyarme? ¡Sé mi patrón!
Etiquetas

One comment

  1. Que genial página gracias por los aportes estudio programación soy principiante pero me gusta mucho la verdad

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *