Aller au contenu

[Java]Classe de formulaires


Don_Angelo

Messages recommandés

Bonjour à tous,

Dans le cadre d'un projet de dev, je dois coder une interface graphique. Dans cette interface il y aura beaucoups de formulaires et donc pas mal de ligne de code vont sans cesse revenir rien que pour l'affichage, géré par un GridBagLayout.

Par ailleurs coder des classes de vérif de saisie en statique en vérifiant en dur chaque champs ne me dit rien donc j'ai envie de créer une classe qui va me faciliter la tache.

l'idée est de grouper les champs de formulaire dans une ArrayList typée en JComponent afin de pouvoir boucler dessus par la suite.

Epineuse question pour la partie de la classe qui va gérer le contrôle des valeures. En effet, si ma mémoire est bonne je n'accède pas aux valeurs d'une JTextarea comme pour une JCheckbox par exemple. Or ce que je cherche c'est automatiser l'accès aux valeurs et de fait coder une méthode d'accès générique. Une première idée qui me paraît bien lourdingue serait d'utiliser un getClass() afin de gérer chaque type d'élément (càd JTextarea, JCheckbox etc.) de mon ArrayList au cas par cas.

Ca me paraît lourdingue et pas très propre connaissez vous un autre moyen?

Lien à poster

Hello,

Si j'ai bien compris tu veux pouvoir faire de la validation du contenu de tes champs de formulaire de manière "générique". Effectivement tes champs ne sont pas tous accessibles et vérifiables de la même manière, d'ailleurs un même composant peut lui aussi être vérifié de plusieurs façon (ex : champs texte qui doit contenir une date, différent de champs texte devant contenir une adresse e-mail, etc.).

La façon de faire que tu décris avec dans l'idée un "getClass()" est une possibilité et je ne sais pas s'il y en a des tas.

Ce à quoi j'ai pensé peut être d'ajouter la méthode de validation de tes champs au coeur même de tes composants.

Par exemple au lieu d'utiliser un JTextArea, tu utiliserais un JValidableTextArea, une classe écrite par toi qui étendrait JTextArea et implémenterait une interface Validable (aussi écrite par toi) avec une méthode générique validate().

Dès lors, tu n'as que des composants "validables" de la même façon dans ton ArrayList de composants, puisqu'il suffit d'invoquer la méthode validate() sur chacun des objets.

Bref c'est une idée, je ne sais pas si ça répond à ta question.

Note 1 : je ne connais pas Swing et la hiérarchie de JComponent donc il y a peut-être un équivalent ou mieux qui se cache quelque part (voir pas spécialement orienté Swing).

Note 2 : si ça trouve, une librairie existe déjà pour répondre à ton besoin.

@+

Lien à poster
×
×
  • Créer...