Jtree

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 8 juin 2005 à 22:02
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 8 juin 2005 à 22:12
bonjour a tous,
ne trouvant pas de JTree convenable sur les source de ce site et ailleur j'ai decider de faire le mien mais voila : c pas facile
je pose des source et j'expose le probleme :

/************************arbre********************/
/********commencement de l'arbre**********/
//d'abord le premier noeud
racine = new DefaultMutableTreeNode("Racine", true);
//ensuite la list des hd
hardDrive = File.listRoots();
//ensuite l'arbre lui meme


//ajout des hd dans l'arbre
for (int i = 1; i < hardDrive.length; i++) {
//On crée des noeuds pour les lecteurs
DefaultMutableTreeNode lecteurs = new DefaultMutableTreeNode(
hardDrive[i]);


//On les ajoute a la racine
racine.add(lecteurs);
}


Tree = new JTree(racine, true);
Tree.setSize(1000, 500);
Tree.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTree1MouseClicked(evt);
}
});

/************************fin de l'arbre********************/
/*********************** methode **********************/
public static DefaultMutableTreeNode addChildren() {
TreePath treepath = Tree.getSelectionPath();
int chemintaille = treepath.getPathCount();
System.out.println(chemintaille);
Object chemin = treepath.getPathComponent(chemintaille - 1);
System.out.println("chemin du fichier (objetc):" + chemin);
Xchemin = chemin.toString();
System.out.println("chemin du fichier :" + Xchemin);
File listing = new File(Xchemin);
File[] gettingFile = listing.listFiles();
for (int i = 0; i < gettingFile.length; i++) {
DefaultMutableTreeNode lecteurs = new DefaultMutableTreeNode(
gettingFile[i]);
System.out.println(lecteurs.toString());
racine.add(lecteurs);
}
return racine;
}


/*********************evenement ********************************/
private void jTree1MouseClicked(java.awt.event.MouseEvent evt) {
addChildren();
}
voila ma methode addchildren ne fonctionne qu'a moitier : elle me retourne bien la liste de fichier sur la console mais elle ,ne les ajoute pas
pouvez vous me dire pourquoi?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

1 réponse

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
8 juin 2005 à 22:12
j'ai fait une version ligth avec des commentaire pour la fonction :

public static DefaultMutableTreeNode addChildren() {
//recuperer le treepath selectionne
TreePath treepath = Tree.getSelectionPath();
//quel taille fait t'il ?
int chemintaille = treepath.getPathCount();
// il fait :
System.out.println(chemintaille);
//on prend que celui qui nous interresse
Object chemin = treepath.getPathComponent(chemintaille - 1);
// et on verifie tout de meme
System.out.println("chemin du fichier (objetc):" + chemin);
//on fait en sorte qu'il soit utilisable
Xchemin = chemin.toString();
//on l'affiche pour voir qd meme
System.out.println("chemin du fichier :" + Xchemin);
//on fait un fichier pour ensuite...
File listing = new File(Xchemin);
//...lister les ficheier du rep selectionner
File[] gettingFile = listing.listFiles();
//et pour chaque fichier trouver on
for (int i = 0; i < gettingFile.length; i++) {
//les converti
DefaultMutableTreeNode lecteurs = new DefaultMutableTreeNode(
gettingFile[i]);
//les affiche
System.out.println(lecteurs.toString());
// et les ajoute
racine.add(lecteurs);
}
//et on retourne racine
return racine;
}

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
Rejoignez-nous