Oct 24 2008
By
Miguel | Filled under:
General
Muchas vecesn en misproyectos propios he necesitado validar un campo de una pantalla para que sólo acepte números, esto es una tarea muy común en la mayoría de aplicaciones, sin embargo cada vez que lo necesité tuve que rehacer mi trabajo, así que he decidido crear un par de clases de apoyo para realizar esta tarea de forma más sencilla cuando lo necesite.
Aspectos a tener en cuenta:
- Cómo validar un campo en java para saber si es númerico o no?
- De que forma debo indicarle al usuario que ha introducido un número inválido?
Bueno pues estas cuestiones las he solventado de la siguiente forma:
- Realizando un parseo del contenido del campo de texto ya sea a entero, flotante, long o double usando sus clases Wrapper (Integer, Float, Long, Double)
- Una buena opción es cambia el color del texto o fondo del campo para indicar qued el campo es válido o no así:

Validación de números en Java, rojo: número inválido; blanco: número válido
Bueno la parte de la validación se puede realizar de la siguiente forma:
public boolean isValid() {
try {
Long.parseLong(getText());
setBackground(Color.WHITE);
return true;
} catch (NumberFormatException nfe) {
setBackground(new Color(0XFF9999));
return false;
}
}
y listo.
Para descargar el código fuente lo pueden hacer desde acá.