23 abril 2005

validar entradas en un JTextField

Haciendo el editor numérico en java según comenté en http://chuidiang.blogspot.com/2005/04/patrn-estrategia.html, me encontré con el problema de que opcionalmente quería que el editor no perdiera el foco mientras no fuera correcto su valor. Investigando por internet encontré una página en la que pone varias formas de verificar la entrada de datos.

Básicamente son estas:
  • Añadir un KeyListener, de forma que cada vez que se pulse una tecla en el JTextField, nosotros digamos si vale o no. De esta forma se consigue, por ejemplo, si estamos pidiendo un número, descartar todas las letras.
  • Algo similar se consigue añadiendo un Document. En el Document se nos avisará de cada cosa que se quiera insertar en el editor y diremos si se puede o no insertar.
  • Añadir un FocusListener. Con esto en el JTextField se podrá meter cualquier cosa, pero cuando el JTextField pierda el foco, se nos avisará y podremos validar la entrada.
  • De la misma forma se puede hacer añadiendo un InputVerifier. Al InputVerifier se le preguntará si se puede o no perder el foco. Basta con que devolvamos no si la entrada no es correcta.
  • Aunque creo que la página no lo menciona, también es posible usar un JFormattedTextField, que tiene montones de opciones para añadir máscaras, qué caracteres son válidos y Formatters, que verifican si la entrada es válida o no.
El link de esta página es http://www.programacion.net/java/articulo/tt1120/.

1 comentario:

Anónimo dijo...

esa prueba me resulto en java tan facil no hay mas complicados