Gestion de formulaire swing

Description

Petite source pour créer des formulaires facilement, gestion des validations des champs plus la mise en forme.

La source est assez documenté.

5 types de messages possible :
Erreur , érreur lié à un champ, information, information lié à un champ, validation

Les méssages peuvent être affiché dans une zone commune, ou sous le champ.

Cette classe à été construit pour être facilement "customisable"

Possibilité de mettre des valeurs par défaut

Une classe statique décrivant les principaux outil de validation (à compléter quand même !! )

ect .....

CSForm\source netbeans\FormExemple\dist\FormTest.jar pour tester l'exemple

Si vous avez des remarques, hésitez pas !!

tchouss

Source / Exemple :


/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
  • /
package test; import form.CommonsValidator; import form.FormButtonListener; import java.awt.AWTEvent; import java.awt.BorderLayout; import java.awt.GridBagConstraints; import java.awt.Insets; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField; /** *
  • @author Jo
  • /
public class TestFormCommune extends FormDialog{ private final JLabel errorServer1; private final JLabel errorServer2; public TestFormCommune() { super(); //pas de layout par défaut au formulaire, pour pouvoir utiliser un GUIBuilder setLayout(new BorderLayout()); //initialise le formulaire initForm(); errorServer1 = createErrorLabel("Un méssage d'érreur serveur"); errorServer2 = createErrorLabel("Un méssage d'érreur serveur lié à un champ"); //création des éléments du formulaire JLabel jl1 = new JLabel("Expression régulière [a-zA-Zéèàê ]{1,20}"); final JTextField tf1 = new JTextField(); setDefaultValueOf(tf1, "Valeur par défault"); //ajoute des validateurs addFieldValidator(tf1, CommonsValidator.required, FormatedMessage.getRequired(jl1)); addFieldValidator(tf1, new CommonsValidator.Matcher("[a-zA-Zéèàê ]{1,20}"), FormatedMessage.getInvalid(jl1)); //ajoute un méssage d'information lié à un élément addFieldInfoMessage(tf1, "Du blabla qui éxplique à quoi correspond le champ du formulaire..."); JLabel jl2 = new JLabel("Email"); JTextField tf2 = new JTextField(); setDefaultValueOf(tf2, "xxxxxx@xxx.xx"); addFieldValidator(tf2, CommonsValidator.required, FormatedMessage.getRequired(jl2)); addFieldValidator(tf2, CommonsValidator.email, FormatedMessage.getInvalid(jl2)); //ajoute un méssage d'information lié à un élément addFieldInfoMessage(tf2, "Information de Email"); JLabel jl3 = new JLabel("IPV4"); JTextField tf3 = new JTextField(); addFieldValidator(tf3, CommonsValidator.required, FormatedMessage.getRequired(jl3)); addFieldValidator(tf3, CommonsValidator.ipv4, FormatedMessage.getInvalid(jl3)); //ajoute un méssage d'information lié à un élément addFieldInfoMessage(tf3, "Information de IPV4"); JLabel jl4 = new JLabel("Port"); JTextField tf4 = new JTextField(); setDefaultValueOf(tf4, "3306"); addFieldValidator(tf4, CommonsValidator.required, FormatedMessage.getRequired(jl4)); addFieldValidator(tf4, CommonsValidator.port, FormatedMessage.getInvalid(jl4)); //ajoute un méssage d'information lié à un élément addFieldInfoMessage(tf4, "Information de Port"); JLabel jl5 = new JLabel("ComboBox"); JComboBox cb = new JComboBox(new String[]{"", "Cow","Sheep","Horse"}); setDefaultValueOf(cb, "Cow"); addFieldValidator(cb, CommonsValidator.required, FormatedMessage.getRequired(jl5)); addFieldInfoMessage(cb, "Information de ComboBox"); JLabel jl6 = new JLabel("Mot de passe"); JPasswordField tf6 = new JPasswordField(); addFieldValidator(tf6, CommonsValidator.required, FormatedMessage.getRequired(jl6)); addFieldValidator(tf6, CommonsValidator.rangeLength(5, 20), FormatedMessage.getInvalid(jl6)); //ajoute un méssage d'information lié à un élément addFieldInfoMessage(tf6, "Information de Mot de passe"); JLabel jl7 = new JLabel("Ressaisissez le mot de passe"); JPasswordField tf7 = new JPasswordField(); addFieldValidator(tf7, CommonsValidator.required, FormatedMessage.getRequired(jl7)); addFieldValidator(tf7, CommonsValidator.equalsTo(tf6), FormatedMessage.getInvalid(jl7)); //ajoute un méssage d'information lié à un élément addFieldInfoMessage(tf7, "Information de Mot de passe"); addContent(new GridBagPanel(new GridBagMatrixConstraints(){{ gridx = new Integer[]{0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}; gridy = new Integer[]{0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6}; gridwidth = 1; gridheight = 1; weightx = new Integer[]{0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}; weighty = 0; fill = GridBagConstraints.HORIZONTAL; insets = new Insets(2, 2, 2, 2); anchor = GridBagConstraints.NORTHWEST; }}).adds( jl1, tf1, jl2, tf2, jl3, tf3, jl4, tf4, jl5, cb, jl6, tf6, jl7, tf7 )); addSubmitButton(new JButton("Valider"), new FormButtonListener(){ public void buttontClicked(AWTEvent e) { if(valid()){ addValidMessage("Formulaire bien validé"); } } }); addButton(new JButton("Valider avec érreur serveur"), new FormButtonListener(){ public void buttontClicked(AWTEvent e) { if(valid()){ addErrorMessage(errorServer1); addFieldErrorMessage(tf1, errorServer2); } } }); addButton(new JButton("Reset"), new FormButtonListener(){ public void buttontClicked(AWTEvent e) { reset(); } }); } }

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.