Appeler une méthode d'une classe à partir d'1 String [Résolu] [Java] - Java - Programmation
Marsh Posté le 07-11-2003 à 21:58:54
ce que tu veux faire c'est pas possible.
je m'y connais pas bien en String, mais logiquement, si c'est un objet "MyClass" que tu as stocké dans ton arbre, tu devrais récupérer un object MyClass, pas une String ...
De quelle façon tu stockes ton objet dans l'arbre, et de quelle façon tu le récupères ?
Marsh Posté le 07-11-2003 à 22:10:19
Je crée un objet DefautlMutableTreeNode avec myClass en parametre
qd on crée plusieurs objet DefautlMachin... on peut les "assembler" et former un arbre
Mais qd je veux récuperer (avec la méthode getChild(int index))myClass dans cet arbre il me retourne un objet de type TreeNode pas MyClass c'est là le problème justement.
Il existe peut-ètre une méthode pour récup le bon type mais j'ai pas trouver
Marsh Posté le 07-11-2003 à 22:14:21
Groomy a écrit : Je crée un objet DefautlMutableTreeNode avec myClass en parametre |
logiquement, si t'es noeuds sont des "DefautlMutableTreeNode", ce que te retourne la méthode getChild(int) c'est aussi un DefautlMutableTreeNode (qui implémente TreeNode) => il faut que tu le castes.
Ensuite avec le DefautlMutableTreeNode, en regardant vite fait la javadoc, j'ai vu une méthode getUserObject() qui devrait retourner l'objet que tu as stocké dans le noeud => tu le castes en MyClass et ca roule, tu pourras appeler ta méthode getAName()
Marsh Posté le 07-11-2003 à 22:20:19
Merci beaucoup je vais tester ts ça un peu plus tard sous linux
j'ai aussi trouver un exemple avec le tutoriel java de sun, voici un extrait :
public Object getChild(Object parent, int index) {
Person p = (Person)parent;
return p.getChildAt(index);
}
ça retourne un objet Person, je vais regarder ça aussi
le résultat plus tard dans la soirée!
Marsh Posté le 07-11-2003 à 22:21:32
le getUserObject je l'avais pas vu celui-là (honte sur moi) je pense que ça devrait marché
Marsh Posté le 08-11-2003 à 00:26:16
c'est bon ça tourne, en fait le getChildAt() il retourne un TreeNode mais je le force en DefaultMutableTreeNode.
Ensuite j'utilise getUserObject(), je récupere l'objet et ça fonctionne
le we commmence bien
Marsh Posté le 09-11-2003 à 17:53:18
benou a écrit : |
Marsh Posté le 09-11-2003 à 18:13:07
en plus je voulais écrire je m'y connais pas bien en Swing ... je devais penser à autre chose quand j'ai écrit ca
Marsh Posté le 09-11-2003 à 18:54:14
ReplyMarsh Posté le 09-11-2003 à 19:56:27
benou a écrit : je m'y connais pas bien en String |
Ah bon
Marsh Posté le 07-11-2003 à 21:17:53
Bonjour tt le monde,
la question est un peu difficile à expliquer mais je vais essayer de bien faire...
donc j'ai une classe: public class MyClass (exemple)
qui comprend une méthode public int getAName() (exemple bis)
qui retourne un attribut private de la classe
Dans une autre classe, je crée: MyClass one = new MyClas()
one je le stock dans un arbre
Voilà la situation, maintenant le problème
je voudrais appeler la méthode getAName (pour faire one.getAName())
Le problème c'est que qd je veux récupérer l'objet one, l'arbre me retourne un objet de type TreeNode, j'arrive à le convertir en String, j'ai donc le nom de "one".
Mais avec ce String je peux pas apeller getAName()...
il faudrait que je convertisse le String (ou le TreeNode)en MyClass mais j'y arrive pas
Merci de m'éclairer...
Message édité par Groomy le 08-11-2003 à 00:27:32