2009-10-22 5 views
1

Il semble y avoir beaucoup de méthodes dans la classe Java AWT Container qui sont liés à validate. Apparemment, ils ne font pas de validation de données. Est-ce utile pour un développeur Swing dans tous les cas? Certaines des méthodes: validate(), invalide(), validateTree(), isValid(), etc.Que fait la méthode Container.validate()?

Répondre

8

Citant le API doc:

La méthode validate est utilisée pour provoquer un récipient pour la mise en ses sous-composants à nouveau. Il doit être appelé lorsque les sous-composants du conteneur sont modifiés (ajoutés ou supprimés du conteneur ou les informations relatives à la mise en page modifiées) après l'affichage du conteneur .

+0

Vous avez lu le RTRM! (Bien que généralement vous utilisiez 'JComponent.revalidate'.) –

3

La validation dans un contexte Swing consiste à demander à un composant de mettre en page ses sous-composants après que l'un d'entre eux a été modifié.

Par exemple, supposons que vous mettre en œuvre une coutume JDialog avec un bouton « Afficher les filtres ». En cliquant sur ce bouton, vous pouvez ajouter un panneau "filtre" supplémentaire au sud du JDialog. Lors de l'ajout du nouveau sous-panneau, vous devrez appeler validate() sur le JDialog pour qu'il agisse correctement sur le nouveau panneau.

+3

+1. Certaines personnes appellent aussi validate() comme un talisman pour faire fonctionner les choses comme par magie ... alors surveillez les appels inutiles si vous travaillez dans le code GUI d'autres personnes. –