[mod] validación de tipos de datos en un formulario

Iniciado por Azulf, 26 Mayo 2007, 23:09 PM

0 Miembros y 1 Visitante están viendo este tema.

Azulf

Buen dia amigos de elhacker.net, bueno tengo un problema con java , a continuacion se lo describo y de antemano agradezco por su atencion.

Lo que pasa es que estoy llevando interfaz grafica, swing y esas cosas, contenedores, administradores de diseño, botones, cajas de texto, cuadros para llenar entradas, etc..., lo que pasa es que en las cajas de texto y en los cuadros para llenar entradas(JOptionPane.showInputDialog), nu se como validar datos, es decir, por ejemplo tengo un formulario donde se ingresa la edad de una persona, y que pasa si ingreso 'abc', o tengo que sumar dos numeros y ingreso un caracter, pucha lo que pasa es que el profe lo primero que revisa es eso, las validaciones, n.n u.u espero que me ayuden,

Editado por el moderador: "Ayuda :(" no es un título descriptivo para ningún post, por favor revisa las normas del foro y la sección.

Casidiablo

Esto te puede ayudar:

http://chuidiang.blogspot.com/2005/10/captura-de-teclas-en-un-jtextfield-de.html

Claro, creo que lo haces con un JOptionPane, en ese caso creo que tendrías que validar los datos despues de que se ingresan... en ese caso te interesará esto:

http://lineadecodigo.com/2006/12/29/validar-si-un-dato-es-numerico-en-java/

Saludos!!!

alvk4r

El algoritmo es basicamete este:

Debes obtener el codico Ascii de los caracteres que se introducen...

Si no esta en el rango de los numeros del 0 al 9 o en el  caso de que sea solo texto el rango de las minusculas y/o mayusculas....

Si hay un ascii diferente al rasgo que especificas no almacenas los datosy retornas un error...

Lo siento po no ser mas especifico en este momento... pues deberia releer alguna que otra cosa y no ando muy largo de tiempo. Nop obstante espero que hayas captado la idea... No pude ejemplificarte pues tampoco tengo una tabla Ascii delante...
El poder corrompe, el poder absoluto corrompe absolutamente.

»~^~«CkNU!»~^~«

Lo más fácil para campos numéricos es capturar una excepción NumericFormatException y manejarla como te guste.
Ej:
try
{
edad = toInt(cajadetexto.Text);
}
catch(NumericFormatException e)
{
// Mostrar mensaje, escupir al usuario o formatear el disco.
// Lo que más te guste
}
»~^~«ChiCkENURiNE»~^~«

alvk4r

Si puede hacerse con el NumericFormatException en el caso de la edad... pero para asegurarte de que en un cajon de nombre escriban "Rafael" y no "R4f43l", debes usar el metodo ascii.....

Es decir en cualquier caja de texto que quieras tener una cadena de caracteres que no contenga numeros...
El poder corrompe, el poder absoluto corrompe absolutamente.

egyware

como es un JtextField puedes caputar lo que se escribio con el metodo getText y luego usas Integer.parseInt(String s)y lo validas con la excepcion NumberFormatText como dijo alvk4r o usas el componente JSpinner  que solo usa numeros y luego obtienes su valor como Objeto y luego obtienes del Objecto su Hashcode y ese sera el numero que anotaste en el componente suerte xau xau

»~^~«CkNU!»~^~«

Para el caso de Texto podés usar inputType y Contraint_Mask.
También podés hacer tus propios controles extendiendo las clases.
»~^~«ChiCkENURiNE»~^~«