[JTree] TreeSelectionListener qui fait pas ce que je veux ...
TreeSelectionListener qui fait pas ce que je veux ... [JTree] - Java - Programmation
MarshPosté le 21-11-2003 à 11:40:06
Voila j'expose le probleme
J'ai un JTree qui permet d'explorer un systeme de fichiers Le noeud racine est le poste de travail je l'affiche de manière a ce que l'Utilisateur puisse acceder aux partitions systemes et aux lecteurs de disque. par la je veux dire qu'il y a un petit "+" (handle) en face de chaque lecteur au debut
Maintenant il faut pouvoir lister les repertoires contenus dans ces lecteurs.
Pour ca il faut utiliser soit un TreeExpansionListener, soit un TreeSelectionLIstener (ce que j'ai fait)
Donc dans mon TreeSelectionListener, je veux simplement a partir du dossier courant (selectionné donc), lister la liste des sous dossiers de ce dossier.
Le problème c'est que le "+" s'affiche en meme temps que l'on clique sur le dossier (logique) donc on ne peux pas savoir si un dossier a des sous dossiers a moins de cliquer dessus! pas pratique du tout !
Pour pallier ce probleme j'ai fait un sous parcours qui parcours la liste des sous dossiers, liste leur sous dossiers pour chacun d'eux...ca c'est tres lourd et de plus ca créee deux fois plus de noeud qu'il n'en faut !!!
donc ma question est : Comment faire ca de maniere plus simple ?
J'ai pensé a une solution qui, pour chaque sous dossier, verifierait si il a des sous dossiers, mais je n'ai pas trouvé de methode qui permette d'afficher un "+" a coté d'un noeud.
Je me suis torturé les meninges et je me demande bien comment marche l'explorateur windows (il me faudrait les sources )
Voila en esperant ne pas vous avoir trop ennuyé
Si vous avez des idées/reflexions/critiques sur ma maniere de penser la chose, merci de me le dire !
Ci dessous en bonus le code implemantant l'ecouteur
Marsh Posté le 21-11-2003 à 11:40:06
Voila j'expose le probleme
J'ai un JTree qui permet d'explorer un systeme de fichiers
Le noeud racine est le poste de travail
je l'affiche de manière a ce que l'Utilisateur puisse acceder aux partitions systemes et aux lecteurs de disque. par la je veux dire qu'il y a un petit "+" (handle) en face de chaque lecteur au debut
Maintenant il faut pouvoir lister les repertoires contenus dans ces lecteurs.
Pour ca il faut utiliser soit un TreeExpansionListener, soit un TreeSelectionLIstener (ce que j'ai fait)
Donc dans mon TreeSelectionListener, je veux simplement a partir du dossier courant (selectionné donc), lister la liste des sous dossiers de ce dossier.
Le problème c'est que le "+" s'affiche en meme temps que l'on clique sur le dossier (logique) donc on ne peux pas savoir si un dossier a des sous dossiers a moins de cliquer dessus! pas pratique du tout !
Pour pallier ce probleme j'ai fait un sous parcours qui parcours la liste des sous dossiers, liste leur sous dossiers pour chacun d'eux...ca c'est tres lourd et de plus ca créee deux fois plus de noeud qu'il n'en faut !!!
donc ma question est : Comment faire ca de maniere plus simple ?
J'ai pensé a une solution qui, pour chaque sous dossier, verifierait si il a des sous dossiers, mais je n'ai pas trouvé de methode qui permette d'afficher un "+" a coté d'un noeud.
Je me suis torturé les meninges et je me demande bien comment marche l'explorateur windows (il me faudrait les sources )
Voila en esperant ne pas vous avoir trop ennuyé
Si vous avez des idées/reflexions/critiques sur ma maniere de penser la chose, merci de me le dire !
Ci dessous en bonus le code implemantant l'ecouteur
Message édité par spitagor le 21-11-2003 à 11:55:58