Un componente en Java con Validaciones incluidas |
Shadonwk escribió "Saludos maestro, lamento ya no enviar noticias tan seguidas, pero el trabajo no me lo permite, lo cierto es que he aprendido bastante y espero transmitir mis conocimientos.. envio este componente que he desarrollado y estoy seguro a muchos les servirá. solo quisiera pedirle el favor de acomodar el texto de codigo para que se vea bien.. espero este bien y seguimos en contacto..

Actualmente me he encontrado desarrollando simplemente para la parte de la vista de las aplicaciones hechas en java, por lo cual me es necesario llevar a cabo diferentes validaciones, especialmente en las cajas de texto, tales como son: si el campo es requerido, si un email es correcto, una fecha, un campo de tipo moneda, y hasta un RFC para personas físicas y morales, por lo cual me he dado a la tarea de realizar un componente que extienda de un JTextField pero que ya tenga incluida cierta funcionalidad que me permita realizar las validaciones mediante propiedades de dicho componente.
En esta primera versión solo pondré las validaciones más sencillas, a algunos tal vez les baste con eso pero otros más van a encontrarle más utilidad si se le agrega alguna validación extra o bien si en su trabajo requieren que dicho componente haga algo especial, por lo cual si este es el caso, y varios necesitan lo mismo, basta con comentarlo y en cuanto tenga un poco de tiempo le agregaría la nueva funcionalidad.
Veamos un ejemplo de uso:
[code lang="java"]
/**
* @(#)PruebaValidator.java
*
*
* @author Roberto León
* @version 1.00 2010/6/22
*/
import javax.swing.*;
import java.awt.*;
import java.awt.Container;
import java.awt.Dimension;
public class PruebaValidator extends JFrame{
//para el campo nombre
private JLabel lblAlertNombre;
private JLabel lblNombre;
private JTextFieldValidator txtNombre;
//para validar la fecha
private JLabel lblAlertFecha;
private JLabel lblFecha;
private JTextFieldValidator txtFecha;
//para validar correo
private JLabel lblAlertCorreo;
private JLabel lblCorreo;
private JTextFieldValidator txtCorreo;
//para validar formato moneda
private JLabel lblAlertMoneda;
private JLabel lblMoneda;
private JTextFieldValidator txtMoneda;
//el boton que se encarga de las validaciones
private JButtonValidator btnAceptar;
//el area donde se mostraran los mensjaes
private JTextArea areaError;
public PruebaValidator() {
super("Uso Validador by Robert");
this.setPreferredSize(new Dimension(250,300));
this.setVisible(true);
this.setLayout(null);
btnAceptar = new JButtonValidator();
btnAceptar.setBounds(100,240,100,20);
btnAceptar.setText("Aceptar");
//indicamos que este boton validara
//4 campos..
btnAceptar.setITotalValidaciones(4);
areaError = new JTextArea();
areaError.setBounds(0,0,300,100);
this.add(areaError,null);
this.add(btnAceptar,null);
//agregando elemenotos al frame
lblAlertNombre = new JLabel();
lblAlertNombre.setBounds(10,120,20,20);
this.add(lblAlertNombre);
lblNombre = new JLabel("Nombre:");
lblNombre.setBounds(30,120,60,20);
this.add(lblNombre);
txtNombre = new JTextFieldValidator();
txtNombre.setBounds(100,120,100,20);
//Estableciando las propiedades necesarias
//para validar el campo nombre
//le decimos que este campo es requerido
txtNombre.setEsRequerido(true);
//decimos donde aparecera el mensaje
//de error en caso de ser invalido este campo
txtNombre.setTxtErrorArea(areaError);
//le decimos donde pondremos su iconito de error
txtNombre.setLblError(lblAlertNombre);
//le decimos como nombrará a este campo
txtNombre.setEtiquetaCampo("nombre");
this.add(txtNombre);
lblAlertFecha = new JLabel();
lblAlertFecha.setBounds(10,150,20,20);
this.add(lblAlertFecha);
lblFecha = new JLabel("Fecha:");
lblFecha.setBounds(30,150,60,20);
this.add(lblFecha);
txtFecha = new JTextFieldValidator();
txtFecha.setBounds(100,150,100,20);
//Le indicamos que queremos que valida
//una fecha
txtFecha.setFormatoRequerido(txtFecha.IFECHA);
//decimos donde aparecera el mensaje
//de error en caso de ser invalido este campo
txtFecha.setTxtErrorArea(areaError);
//le decimos donde pondremos su iconito de error
txtFecha.setLblError(lblAlertFecha);
//le decimos como nombrará a este campo
txtFecha.setEtiquetaCampo("fecha");
this.add(txtFecha);
lblAlertCorreo = new JLabel();
lblAlertCorreo.setBounds(10,180,20,20);
this.add(lblAlertCorreo);
lblCorreo = new JLabel("Correo:");
lblCorreo.setBounds(30,180,60,20);
this.add(lblCorreo);
txtCorreo = new JTextFieldValidator();
txtCorreo.setBounds(100,180,100,20);
//Le indicamos que queremos que valida
//en este caso un correo
txtCorreo.setFormatoRequerido(txtFecha.IEMAIL);
//decimos donde aparecera el mensaje
//de error en caso de ser invalido este campo
txtCorreo.setTxtErrorArea(areaError);
//le decimos donde pondremos su iconito de error
txtCorreo.setLblError(lblAlertCorreo);
//le decimos como nombrará a este campo
txtCorreo.setEtiquetaCampo("correo");
this.add(txtCorreo);
lblAlertMoneda = new JLabel();
lblAlertMoneda.setBounds(10,210,20,20);
this.add(lblAlertMoneda);
lblMoneda = new JLabel("Moneda:");
lblMoneda.setBounds(30,210,60,20);
this.add(lblMoneda);
txtMoneda = new JTextFieldValidator();
txtMoneda.setBounds(100,210,100,20);
//Le indicamos que queremos que valida
//en este caso valide pesos $000.00
txtMoneda.setFormatoRequerido(txtFecha.IMONEDA);
//decimos donde aparecera el mensaje
//de error en caso de ser invalido este campo
txtMoneda.setTxtErrorArea(areaError);
//le decimos donde pondremos su iconito de error
txtMoneda.setLblError(lblAlertMoneda);
//le decimos como nombrará a este campo
txtMoneda.setEtiquetaCampo("moneda");
this.add(txtMoneda);
//le indicamos el boton que validara los campos
txtNombre.setBtnTriggerComponent(btnAceptar);
txtFecha.setBtnTriggerComponent(btnAceptar);
txtCorreo.setBtnTriggerComponent(btnAceptar);
txtMoneda.setBtnTriggerComponent(btnAceptar);
this.pack();
}
public static void main(String args[]){
new PruebaValidator();
}
}
[/code]
En la imagen del inicio de este post vimos como nos muestra un alert y un mensaje cuando los campos a validar estan incorrectos y una vez que dichos campos se han llenado correctamente el mismo borra tanto las etiquetas de alerta como los mensajes de error, veamos el mismo ejemplo con datos correctos:
En este ejemplo solo se ven 4 de 8 validaciones posibles que hace este Validador, comenta si te intereza y si te gustaria obtener las clases de dicho componente.
Espero sus comentarios!!
fuente: http://robertoleon.com.mx/un-componente-en-java-con-validaciones-incluidas/"
Enviado el Sábado, 17 julio a las 19:20:37 por 0utKast
|
| |
|
|
|
Puntuación Promedio: 0 votos: 0
|
 |
|
|
|
|