Algo pour création de JTree

Résolu
nicotine002 Messages postés 2 Date d'inscription samedi 9 août 2008 Statut Membre Dernière intervention 4 avril 2010 - 21 mars 2010 à 12:46
nicotine002 Messages postés 2 Date d'inscription samedi 9 août 2008 Statut Membre Dernière intervention 4 avril 2010 - 4 avril 2010 à 15:06
Bonjour,

Déjà merci à ceux qui vont essayer de comprendre ce qui suit...

Je dois construire un arbre(JTree) à partir de chaîne de caractère issues d'un BD.
chaine1_chaine6_chaine7
chaine3_chaine6_chaine4
chaine1_chaine3

Le caractère "_" de séparation doit permettre d'identifier les dossier à créer.
L'arbre pour cet exemple devrait donc être comme ceci:
chaine1
   |
   |__>chaine6
   |        |
   |        |__>chaine7
   |
   |__>chaine3
   |         
   |         
   
chaine3
   |
   |__>chaine6
   |          |
   |          |__>chaine4
 


Je précise qu'il peut y avoir beaucoup de "_".

Je pense qu'il doit y avoir de la fonction récursive là-dedans mais trouve pas:(

J'ai pensé à un truc comme ça :
tableau_chaine[] = Recup_Tab_de_la_BD();
 
for(int i=0;i<tableau_chaine.length;i++){
 
      String[] tableau = tableau_chaine[i].split("_");
      Noeud parent = racineDeMonArbre;
 
      for(int a=0;a<tableau.length;a++) {
 
            Noeud fils = new Noeud(tableau[a]);
            parent.ajouterFils(fils);
            parent = fils; // Le fils devient parent du prochain noeud
 
      }
 
}

Mais ça me donne pas l'arbre prévu au départ:(

Merci d'avance.

2 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
22 mars 2010 à 12:49
Est ce que tu es parvenu à résoudre ce problème?

Il suffit de mémorise les couples (String, TreeNode) dans une Map pour toutes les chaines de caractères qui se trouvent au début.
3
nicotine002 Messages postés 2 Date d'inscription samedi 9 août 2008 Statut Membre Dernière intervention 4 avril 2010
4 avril 2010 à 15:06
Oui c'est bon merci :)
3