Lister les attributs d'une classe [Résolu]

Messages postés
12
Date d'inscription
jeudi 19 février 2004
Dernière intervention
4 août 2009
- - Dernière réponse : crackinett_boy
Messages postés
12
Date d'inscription
jeudi 19 février 2004
Dernière intervention
4 août 2009
- 29 mai 2008 à 10:45
Bonjour à tous !

Je développe une applet en java et j'ai une interface qui permet d'éditer un fichier de config ... bref rien de très complexe.
Ceci dit, j'aimerais créer un bouton permettant de réinitialiser l'IHM, et pour ce faire, je dois remettre une grande partie de mes attributs à null.

Je voulais donc savoir si quelqu'un avait déjà utilisé une méthode du style myClass.getAttributes() ?.
Ils parlent chez Sun d'une classe Attributes mais j'avoue ne pas trop comprendre

Merci d'avoir pris le temps de me lire

Pantouflard
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
744
Date d'inscription
dimanche 1 avril 2007
Dernière intervention
9 mai 2010
3
Merci
... Tu connais les Patterns? Je pense qu'un pattern composite te serait bien utile... si tu connais.

Si tu veux il te faudrait une classe qui va contenir un attribut JPanel et avec un setter dessus tu vas pouvoir changer son contenu de manière relativement dynamique. Pour ton cas, si tu dois réinitialiser tout à nul, pourquoi ne pas faire un new JPanel(...); ?

<hr width="100%" size="2" />Timmy!!!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de dvoraky
Messages postés
744
Date d'inscription
dimanche 1 avril 2007
Dernière intervention
9 mai 2010
0
Merci
Salut,

En fait, tu es dans une classe et tu fais appel à un objet qui implémente une Interface, c'est ça?

Et avec des getters et setters? ça suffirait pas?

@+

<hr width="100%" size="2" />Timmy!!!
Commenter la réponse de dvoraky
Messages postés
12
Date d'inscription
jeudi 19 février 2004
Dernière intervention
4 août 2009
0
Merci
L'idée c'est que j'ai une sorte de séquenceur qui fait défiler les IHM les unes après les autres (mes IHM sont des classes qui héritent de JPanel).

Il se trouve que pour l'une de ces IHM, je voudrais créer un bouton qui réinitialise celle-ci.
Pour ce faire, je dois remettre pas mal d'attributs à "null". Je n'ai pas envie de les remettre tous à null un par un à la main(car il y en à beaucoup). Donc je cherche une méthode qui pourrait me lister tous les attributs déclarés dans ma classe, pour que je puisse ensuite les RAZ en itérant.

Merci.

Pantouflard
Commenter la réponse de crackinett_boy
Messages postés
12
Date d'inscription
jeudi 19 février 2004
Dernière intervention
4 août 2009
0
Merci
Oui oui j'ai déjà étudié quelques patterns GOF mais le fait d'avoir un séquenceur qui gère l'enchainement des Panels me bloque considérablement. Je ne peux pas non plus recréer un new JPanel, car c'est le séquenceur seulement qui doit gérer l'affichage des JPanels (une contrainte que je me suis imposé par soucis de propreté ^^).
Je vais quand même étudier la piste du composite, je suis sur qu'il y a quelque chose à en tirer

Merci beaucoup dvoraky pour tout l'intérêt que tu as porté

Pantouflard
Commenter la réponse de crackinett_boy
Messages postés
744
Date d'inscription
dimanche 1 avril 2007
Dernière intervention
9 mai 2010
0
Merci
Avec plaisir, dis toi que, pour les interfaces graphiques, les patterns sont relativement présents quand tu veux faire une appli qui tient la route quoi.

Si t'as des questions n'hésites pas ;)

Bonne chance (le pattern composite peut faire mal à la tête un peu ^^ )

<hr width="100%" size="2" />Timmy!!!
Commenter la réponse de dvoraky
Messages postés
12
Date d'inscription
jeudi 19 février 2004
Dernière intervention
4 août 2009
0
Merci
Euh juste pour les intéréssés de la méthode que je recherchais au début, je l'ai trouvé ;)

Effectuez un this.getClass().getDeclaredFields() et vous aurez une collection avec vos attributs !

@+

Pantouflard
Commenter la réponse de crackinett_boy

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.