COMMENT LISTER L'ARBORESCENCE DES DISQUE DUR DANS UN JTREE

Messages postés
3
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
5 juillet 2003
- - Dernière réponse : mouna310
Messages postés
37
Date d'inscription
vendredi 23 janvier 2015
Statut
Membre
Dernière intervention
3 mai 2015
- 24 févr. 2015 à 17:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/15609-comment-lister-l-arborescence-des-disque-dur-dans-un-jtree

cs_colo
Messages postés
3
Date d'inscription
vendredi 4 juillet 2003
Statut
Membre
Dernière intervention
5 juillet 2003
-
une petite correction : for (int j = 0 ; j < list.length ; j++)
^^
Voila sinon tout marche bien. :)
erfandis42
Messages postés
7
Date d'inscription
lundi 7 juillet 2003
Statut
Membre
Dernière intervention
17 juillet 2003
-
Ta source ma bcp aidé a comprendre mais je nage tjrs...
chuis noob sur java, et les tuto que j'ai vu sur le JTree sont pas clair du tout pour moi, deplus j'utilise Sun one, et pour ce composant c vraiment mal foutu !!! Tu pourrai me donner un exemple tout con, pour la création d'un arbre a afficher, avec des trucs bidons !?
erfandis42
Messages postés
7
Date d'inscription
lundi 7 juillet 2003
Statut
Membre
Dernière intervention
17 juillet 2003
-
Bon, alors j'arrive à faire mon noeud racine, à lui rajouter des fils (enfin je pense), mais au lieu de m'afficher mon arbre, il m'affiche plus rien !!!! (enfin c mieu que de m'afficher leur arbre exemple tout pouris, ki s'affiche meme quant tu as rien coder derriere...loul) Je comprend plus rien !!!!
erfandis42
Messages postés
7
Date d'inscription
lundi 7 juillet 2003
Statut
Membre
Dernière intervention
17 juillet 2003
-
C bon !!! En faite, c'était juste un probleme de portée de variable :op
Ne te tracasse po, ma variable dans laquel y'avait le modele du Jtree etait local à ma fonction, ca marchai po au debut, alors je l'avais redéclaré en général hihihi, alors qu'il y avait rien dedans.... lol
C'était donc normal qu'il ne m'affiche rien !!! :op
Encore desolé de t'avoir dérangé... bon code !
cs_genius83
Messages postés
1
Date d'inscription
dimanche 13 avril 2003
Statut
Membre
Dernière intervention
31 août 2003
-
C super ! Merci pour ton aide. J'essaierai et j'apporterai des remarks later.
geoloft
Messages postés
1
Date d'inscription
mercredi 5 novembre 2003
Statut
Membre
Dernière intervention
6 novembre 2003
-
Bonjour et merci pour ce source.

Là je sens que je vais devenir pénible : est il possible d'avoir le même exemple sous forme d'Applet ?

Pourquoi ? parce que je suis tout nouveau dans le Java et que je rame comme un fou. J'ai déjà essayé de le faire mais franchement j'ai pas de succès.

D'avance merci.
cs_Yenapa
Messages postés
67
Date d'inscription
samedi 12 juillet 2003
Statut
Membre
Dernière intervention
26 juin 2009
-
C bien mais c un peu lent ton truc...
Y'a pas moyen de l'accelerer par exemple en parcourant un sous-dossier seulement quand on en a besoin? J'ai essayé mais certains dossier n'apparaissent parfois pas dans le JTree et d'autres apparaissent parfois 2 fois ou plus...

Merci
cs_UNi
Messages postés
35
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
27 avril 2009
-
excellent merci !!

meme si ca rame un peu c vachement bien ca va me permettre de comprendre les JTREE
cs_noname
Messages postés
2
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
12 juillet 2004
-
Très bon exemple d'utilisation d'un jTree. Bravo!

geoloft -> si jamais, tu peux réutiliser le même code dans ton applet (en utilisant bien sur le JRE de Sun, ainsi que son plugin pour ton navigateur favori). Un petit détail, il faut aussi que les gens qui accèdent à ton applet via le web aient aussi ce plugin de Sun installé autrement, la librairie SWING ne sera pas prise en charge.
cs_vin100time
Messages postés
2
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
29 septembre 2004
-
ben écoute, je sais pas pourquoi, mais chez moi, quand je teste ton code, mon ordi rame, c'est tout ce que se passe, rien ne s'affiche. Si quelqu'un a une idée?
cs_eio
Messages postés
30
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
18 juin 2011
-
Félicitation pour ce code. C'est pas que les autres sources sur le sujet ne sont pas bonnes, au contraire, mais la tienne est claire, simple et très légère. Pour quelqu'un comme moi qui commence avec les JTree, c'est A++++ parce que j'y vais étape par étape.
cs_DbM
Messages postés
4
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
27 novembre 2004
-
Franchement super ce code, au moins là je commence à comprendre comment marchent les JTree ^^
Un grand merci à toi !
babou6a
Messages postés
27
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
14 octobre 2008
2 -
Bonjour,
Ce code est vraiment super clair et bien expliqué !! bravo !
J'ai juste une petite question : listRoots() te permet de partir de "tout en haut de la hierarchie" ... comment peut on faire pour lui dire de partir du repertoire courant par exemple ?
Merci beaucoup !
cs_Duss
Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
9 -
euh essayes un getSubDirs sur "." ou sinon tu met le chemin que tu veux
babou6a
Messages postés
27
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
14 octobre 2008
2 -
oui mais ou ? je comprend comment faire mais je ne vois pas trop comment !
Merci
cs_Yenapa
Messages postés
67
Date d'inscription
samedi 12 juillet 2003
Statut
Membre
Dernière intervention
26 juin 2009
-
Comme ca:

Tu remplace:
// pour chaque lecteur
for (int i = 1 ; i<_roots.length ; i++)
{
// on recupère son contenu grace a getSubDirs
DefaultMutableTreeNode root = getSubDirs(_roots[i]);
// et on l ajoute a notre premier noeud
racine.add(root);

}

par
racine = getSubDirs(Objet file qui pointe vers ou tu veux)

Et puis remplace
DefaultMutableTreeNode racine = new DefaultMutableTreeNode("Poste de travail",true);

par
DefaultMutableTreeNode racine; (c pas la peine de l'initialiser par "poste de travail" vu que ce sera remplacé apres...)

G pas testé mais bon, c un truc comme ca.
babou6a
Messages postés
27
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
14 octobre 2008
2 -
c super sympa mais j'ai encore quelques hesitation : l' "Objet file qui pointe vers ou tu veux" comment je fais ?
J'ai crée un File :
File courant = new File("Arborescence");
Mais je ne sais pas comment lui dire de pointer sur le repertoire que je veux ! :-)
Merci
cs_Duss
Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
9 -
new File("c:/monrep")
babou6a
Messages postés
27
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
14 octobre 2008
2 -
Merci beaucoup beaucoup ! j'ai reussi !
cs_CornFlaks
Messages postés
2
Date d'inscription
mardi 4 mars 2003
Statut
Membre
Dernière intervention
31 janvier 2005
-
// pour chaque lecteur
for (int i = 1 ; i<_roots.length ; i++)

tu peux retirer la boucle pour ne recuperer qu'un seul lecteur ou "i" représente le lecteur choisit. 0 -> A: / 1 -> C: / 2 -> D: etc...
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11 -
ya qu'un default le temps de lancement du programe
sinon c vraiment bien et il est vrai que les JTree sont pas tres documenter
cs_Yenapa
Messages postés
67
Date d'inscription
samedi 12 juillet 2003
Statut
Membre
Dernière intervention
26 juin 2009
-
Ouai c clair
L'ideal serais de ne parcourir un dossier que si il y a besoin..
Je n'ai pas reussi, ca buggait avec les petits plus qu'il y a coté du dossier.
Et puis g abandonné ce programme... mais l'idée peut encore servir
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11 -
moi g un autre probleme :
je voudrais que les fichier soit afficher et pas que les dossier
je me doute que le code a modifier est la :
for (int j = 1; j < list.length; j++) {
DefaultMutableTreeNode file = null;
if (list[j].isDirectory()) {
file = getSubDirs(list[j]);
racine.add(file);
mais je sais pas quoi ajouter
vs avez pas une idee ?
cs_Yenapa
Messages postés
67
Date d'inscription
samedi 12 juillet 2003
Statut
Membre
Dernière intervention
26 juin 2009
-
Modifie dans la methode getSubDirs

if (list[j].isDirectory())
{ file = getSubDirs(list[j]);
racine.add(file);
}

en

file = getSubDirs(list[j]);
racine.add(file);

C'est la condition if (list[j].isDirectory()) qui fait que les fichiers sont ignorés.
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11 -
merci bcp
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11 -
je voudrais savoir comment ta fonction getSubDirs() peut marche?!
tu pourrai pas l'expliquer un peut mieu stp
car je voudrais arriver a modifier la fonction pour qu'elle n'affiche pour l'instant que les disque dur et poue ensuite ajouter des actionlistener pour ne montre que les sous dossier
dont on a besoin d'afficher.
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11 -
je suis arriver a mettre que les dd mais je voudrais si ca te derange pas que tu m'explique comment fonctionne ta fonction stp
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11 -
je suis arriver a mettre que les dd mais je voudrais si ca te derange pas que tu m'explique comment fonctionne ta fonction stp
pseudal
Messages postés
12
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
10 mars 2006
-
Et sous linux on fait comment ???
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11 -
c la meme chose
cs_Yenapa
Messages postés
67
Date d'inscription
samedi 12 juillet 2003
Statut
Membre
Dernière intervention
26 juin 2009
-
GetSubDirs crée un objet DefaultMutableTreeNode (que j'appelerai d apres) pour un dossier (que j'appelerai dir)

pour chaque dossier de dir, on appele recursivement la methode GetSubDirs, et on ajoute le resultat a d.
Pareil pour les fichiers il me semble (ca date et j'ai la flemme de me replonger dedans)

Pour linux, t'a pas besoin de trouver les lecteurs racines, etant donné que la racine de l'arborescence est "/"
moh___SBA
Messages postés
5
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
18 avril 2007
-
Votre programme fonctionne bien
bon courage
cs_Yenapa
Messages postés
67
Date d'inscription
samedi 12 juillet 2003
Statut
Membre
Dernière intervention
26 juin 2009
-
^^ bien joué, un an jour pour jour apres
gbordet
Messages postés
2
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
11 juin 2007
-
Salut Yenapa
Je ne sais pas si tu fais encore un peu le support ici, mais je n'arrive pas a voir d'arborescence sous Kubuntu... Je Galere un peu ^^

En fait, je ne comprend pas ou est ce que ca differe entre Windows et Linux dans la recherche des répertoires...

Merci d'avance ^^
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
11 -
essai en changeant ca :
for (int i = 1 ; i<_roots.length ; i++)
en
for (int i = 0 ; i<_roots.length ; i++)

sous linux tu n'as qu'une seule racine... sous windows c'etait pour zapper le lecteur de disquette
gbordet
Messages postés
2
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
11 juin 2007
-
Ca y est, ca marche ... Donc pour linux :
Dans le constructeur, il faut enlever la boucle... je m'explique :

private File[] _roots; ----> devient ---> private File _roots;
_roots File.listRoots(); ----> devient ---> _roots new File("/home/"); (dans mon cas)
et ensuite on vire la boucle For qui est dans le constructeur (on en touche pas à celle dans la méthode)

Et chez moi, ca marche enfin ^^
Voila, merci pour tout !
cs_Yenapa
Messages postés
67
Date d'inscription
samedi 12 juillet 2003
Statut
Membre
Dernière intervention
26 juin 2009
-
Salut

Tout a fait ca

Sous windows, il y a plusieurs "racines" (a:, b:, c:, d: .....). On ne peut pas les deduire par nous meme, sauf en les testant une par une, donc il faut faire appel a la methode listRoots().
En revanche sous linux, il n'existe qu'une seule racine.
Au lieu d'avoir une boucle qui parcours un tableau des File 'racines' (sous windows), on a qu'un seul objet File racine tel que racine = new File("/");
Cependant, j'aurai cru que sous linux la methode listRoots aurai retourné un tableau contenant seulement un objet file, correspondant a "/"
danyboy85
Messages postés
5
Date d'inscription
lundi 24 octobre 2005
Statut
Membre
Dernière intervention
3 octobre 2011
-
Bonjour à tous,

Car sur mon PC d'entreprise j'ai une dizaine de lecteurs réseau et là, ca rame à mort ce qui est normal étant donné qu le programme parcourir tous les répertoires de tous les lecteurs. Est-il possible de les zapper et de ne gérer que les lecteurs locaux ?

Merci d'avance
danyboy85
Messages postés
5
Date d'inscription
lundi 24 octobre 2005
Statut
Membre
Dernière intervention
3 octobre 2011
-
Ne pas lire le mot "Car" sur mon post précédent pour avoir une phrase francaise. Désolé.
ptichef1
Messages postés
3
Date d'inscription
dimanche 30 novembre 2008
Statut
Membre
Dernière intervention
16 mars 2009
-
merci bcp
bravoooooo!!!!
nadimlegend
Messages postés
9
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
27 mars 2009
-
svp comment faire l'appel à ce code pour l'appliquer à un nouvel jtree????
je vous jure que je suis coincé là :(
merci d'avance
msidne
Messages postés
3
Date d'inscription
lundi 7 septembre 2009
Statut
Membre
Dernière intervention
7 décembre 2010
-
Bonjour à tous,
c une trés bonne arbre,
svp comment changer le code pour utilise ce tree dans jsp file,je suis debutant en JSP Et J2EE , svp repond moi, j'ai que 2 weeks pour finir mon projet.

merci beaucoup.
cs_benoure
Messages postés
10
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
17 mai 2013
-
Salut cool le code mais il manque la partie droite !!
mouna310
Messages postés
37
Date d'inscription
vendredi 23 janvier 2015
Statut
Membre
Dernière intervention
3 mai 2015
-
comment lister COMMENT LISTER L'ARBORESCENCE de openldap DANS UN JTREE aidez moi svp