2012-05-17 27 views
5

He descargado e instalado el complemento NetBeans de "Validación simple", pero no sé cómo usarlo, porque no puedo encontrar dónde está presente (en la caja de herramientas).

¿Alguien puede ayudarme amablemente diciendo cómo puedo encontrarlo y cuáles son los pasos para aplicar la validación en los campos de mi formulario?

También vi que había un archivo JAR de API de validación y lo descargué y lo incluí en mi proyecto. Proporcionó 3 controles (o lo que sea que debería decir); "ValidationPanel", "ValidationUtils" y "Problems". Vi un ejemplo en un sitio web & seguido. Arrastré-y-caer el "ValidationPanel" y escribir el código como se muestra en el siguiente códigoCómo usar "API de validación simple" para validar formularios Java Swing en Netbeans

final ValidationGroup group = validationPanel1.getValidationGroup(); 

group.add(txtUserName, Validators.REQUIRE_NON_EMPTY_STRING, 
Validators.NO_WHITESPACE, 
Validators.REQUIRE_VALID_INTEGER); 

Pero parece archivo JAR contiene archivos incompletos o puede haber otro problema, ya que da error: No se puede encontrar el símbolo: variable "Validadores"

Lo siento, creo que estas son 2 preguntas, pero amablemente ayúdenme a solucionarlo.
Gracias de antemano

+3

Por qué preocuparse por una API externa, cuando puede usarla dentro de Java, eche un vistazo a [Validación en campos usando JLayer] (http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html # validation) –

+0

¿Por qué molestarse en hacer todo el trabajo usted mismo cuando tiene una API poderosa, atractiva y fácil de implementar? – Milox

Respuesta

0

¿Has import el paquete requerido?

+0

Sí. Cuando escribí el código en NetBeans dio el mismo error para la clase "ValidationGroup" y cuando hice clic en un globo en el lado izquierdo de IDE, me sugirió que importara el paquete y cuando lo hice, importó el apckage, pero no me sugiere que importe el paquete para "Validators" – swdeveloper

+0

@swdeveloper ¿Seguro que hay incluso una clase llamada 'Validators'? Miré a la biblioteca pero no pude ver ninguna. – Tharwen

+0

@ Tharwen ese es el problema real. El ejemplo de código que descargué (y que se muestra arriba) lo usa (es decir, validadores) como una clase y parece haber algunas constantes que indican qué tipos de validación se deben aplicar en ese campo, pero NetBeans no sugiere ninguna importación para eso. Entonces, ¿también estoy confundido de que sea una clase? – swdeveloper

1

Solo desea el "ValidationPanel".

Parece que se llama ahora "org.netbeans.validation.api.builtin.stringvalidation.StringValidators".

final ValidationGroup group = validationPanel1.getValidationGroup(); 

group.add(txtUserName, StringValidators.REQUIRE_NON_EMPTY_STRING, 
StringValidators.NO_WHITESPACE, 
StringValidators.REQUIRE_VALID_INTEGER); 
1

Lo que está haciendo con esas líneas es la creación de un grupo de validación y la adición de un campo con 3 reglas de validación pero todavía se necesita una manera de demostrar que en la pantalla.

API de validación simple ofrece 2 armarios ayudantes interfaz de usuario que yo sepa, puede utilizar el org.netbeans.validation.api.ui.swing.ValidationPanel o la org.netbeans.validation.api.ui.swing.SwingValidationGroup.createProblemLabel(), de lo contrario tendrá que implementar su propio widget de interfaz de usuario con la interfaz org.netbeans.validation.api.ui.ValidationUI.

  • ValidationPanel crea una JPanel para mantener sus controles de entrada más botones Aceptar y Cancelar además de la etiqueta para mostrar los mensajes de error.

  • Por otro lado usted tiene la ProblemLabel que es la aplicación más fácil y para mí funciona en los casos más comunes, aquí hay un pequeño ejemplo:

    SwingValidationGroup group = SwingValidationGroup.create();; 
    
        group.add(txtUserName, Validators.REQUIRE_NON_EMPTY_STRING, 
        Validators.NO_WHITESPACE, 
        Validators.REQUIRE_VALID_INTEGER); 
    
        JComponent validationLabel = group.createProblemLabel(); 
        contentPanel.add(validationLabel); 
    

De esa manera usted tiene la validationLabel que puede agregarlo a cualquier otro contenedor como JPanel o al formulario en sí, en este caso tengo un panel llamado contentPanel al que adjunto la etiqueta del problema.

Espero que esto lo aclare un poco, ya que es una API increíble con poca documentación.

Cuestiones relacionadas