Bonjour,
Je suis nouveau sur le forum et j'ai déjà des questions à vous poser, lol.
Je développe actuellement en Java une application qui doit extraire à parti d'un fichier excel, l'arborescence d'un menu.
Jusqu'à présent j'ai réussi à lire et récupérer le chemin de chaqu item du menu, que j'ai mis dans un fichier texte (.csv).
Exemple :
root;English;Entertaiment;Ring Tone
où Ring Tone est un item final (une feuille dans un arbre)
English et Entertaiment des noeuds de sous-menus
Mais un fichier txt n'est pas génial pour construire un menu. Je devrait à chaque fois lire le fichier et identifier les noeuds pères et les fils. Je ne pourrait pas construire mon menu de façon récursive.
J'ai pensé à une solution en Java, qui imbriquerait des class que j'aurai définies:
- MenuTree (contient un attribut de type ItemList)
- ItemList (contient un Vector de type Item -> Vector<Item>)
- Item (contient un attribut de type ItemList)
Un menu est constitué d'un nombre d'item (ItemList). Chacun de ces items peuvent être des noeuds de sous menu. Donc il faut aussi définir un ItemList pour chacun de ces items.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public MenuTree(){
this.rootName="root";
this.itemList=new ItemList();
}
public ItemList(){
this.item_list=new Vector <Item>(1,1);
this.item_list.add(new Item());
}
public Item(){
this.cmdBxx="";
this.fatherName="";
this.itemName="";
this.itemType="";
this.itemList=new ItemList(); /* ICI le problème*/
} |
Apparemment le problème se situe au niveau de la création de l'attribut "itemList ". Java me génère une erreur de type : " java.lang.StackOverflowError "
Je ne sais pas quel genre d'erreur c'est, d'où peut provenir l'erreur.
Lorsque je supprime l'attribut " itemList ", tout fonctionne normalement. Mais du coup je n'ai plus qu'un menu avec seulement un seul niveau.
Est-ce que quelqu'un d'entre vous a déjà rencontré ce type de problème.
Merci
Partager