Fredoxmm
Messages postés8Date d'inscriptionjeudi 7 juin 2007StatutMembreDernière intervention24 novembre 2010
-
24 juil. 2008 à 10:20
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 2012
-
24 juil. 2008 à 16:26
bonjour,
je réalise pour une appli, une petite gestion d'explorateur de fichier. L'utilsiateur choisi grace à un chooser un dossier, et cela est censé afficher le contenu (fichiers et sous dossiers) dans un jtree.
Méthode appelée après validation du choix de dossier.
Et voici la méthode getDirs:
public DefaultMutableTreeNode getDirs(File root){
int i = 0;
DefaultMutableTreeNode repertoire = new DefaultMutableTreeNode(root,true);
File[] liste = root.listFiles(); //récupération des fichiers et sous rep de root
if(liste!=null){
for(i = 1; i<liste.length; i++){
DefaultMutableTreeNode buffer = null; //Création d'un noeud pour y stocker un nom de répertoire
if(liste[i].isDirectory()){ //Test si l'élement contenu dans liste est un répertoire ou un fichier,
buffer = getDirs(liste[i]);
repertoire.add(buffer);
}
}
}
return repertoire;
}
Le problème que je rencontre actuellement est que je ne sais pas comment attribuer mon noeud "noeudPrinci" de ma méthode "generate" à mon jTree.
Pourquoi? car j'ai fait mon interface avec visual editor d'eclipse, et donc par conséquent une méthode existe déja pour instanciée le composant jTree. Donc je ne peux pas le ré instancier une seconde fois, alors existe il un "jtree.add(noeud)" ou quelque chose comme ca?
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 20129 24 juil. 2008 à 16:26
Tu peus essayer ceci:
public void generateFichier(final String rootCombo){
MutableTreeNode noeudPrinci = new DefaultMutableTreeNode("rootCombo", true);
DefaultTreeModel model = new DefaultTreeModel(noeudPrinci);
tree.setModel(model);
File[] buffer = new File(rootCombo).listFiles();
for (int j = 0; j < buffer.length; j++) {
model.insertNodeInto(getDirs(buffer[j]), noeudPrinci, noeudPrinci.getChildCount());
}
}
public DefaultMutableTreeNode getDirs(final File root) {
int i = 0;
DefaultMutableTreeNode repertoire = new DefaultMutableTreeNode(root, true);
File[] liste = root.listFiles(); //récupération des fichiers et sous rep de root
if (liste != null) {
for (i = 0; i < liste.length; i++) {
DefaultMutableTreeNode buffer = null; //Création d'un noeud pour y stocker un nom de répertoire
if (liste[i].isDirectory()) { //Test si l'élement contenu dans liste est un répertoire ou un fichier,
buffer = getDirs(liste[i]);
repertoire.add(buffer);
}
}
}
return repertoire;
}