Bonjour à tous,
Je voudrais savoir si on peux lister le contenu d'un répertoire (par exemple: C:/rep1) avec la composante jTree avec JAVA?
Rq: Je développe avec NetBeans.
J'ai pas trouvé de bonnes explications ailleurs!
Merci!
Bonjour à tous,
Je voudrais savoir si on peux lister le contenu d'un répertoire (par exemple: C:/rep1) avec la composante jTree avec JAVA?
Rq: Je développe avec NetBeans.
J'ai pas trouvé de bonnes explications ailleurs!
Merci!
Bien sure. Mais si ce n'est qu'une liste des fichiers, autant prendre une JList.
Vous pouvez dire que c'est un ensemble de (fichiers, images, fichiers txt, etc...) qui se trouvent sous un répertoire bien déterminé!
Je cherche le code qui me permet de faire ceci, et je voulais le faire via une jTree (obligatoire pour mon cas )
Bonjour, teste ce code, il liste tous les fichiers et dossiers de manière récursive, et dans mon cas, j'ai fais en sorte qu'il ne liste que les fichiers/dossiers du répertoire C:\ ( je suis sous windows...).
Si tu veux juste avoir les fichiers, tu peux faire une restriction par une condition du genre. J'espère que ça t'aura aidé...
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (!variable.isDirectory){ //instructions..;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100 import java.io.File; import javax.swing.*; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreeSelectionModel; public class Tree extends JFrame implements TreeSelectionListener { private JTree arbre; private DefaultMutableTreeNode racine; public Tree(){ this.setSize(300, 300); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setTitle("Les arbres"); //On invoque la méthode de construction de notre arbre listRoot(); this.setVisible(true); } private void listRoot(){ this.racine = new DefaultMutableTreeNode(); int count = 0; String s="C:\\"; for(File file : File.listRoots()){ String f= file.getAbsolutePath(); DefaultMutableTreeNode lecteur = new DefaultMutableTreeNode(f); System.out.println(f); if(f.equals(s)){ try { for(File nom : file.listFiles()){ //if (nom.getName().equalsIgnoreCase("ASDCACHE")){ DefaultMutableTreeNode node = new DefaultMutableTreeNode(nom.getName()+"\\"); lecteur.add(this.listFile(nom, node)); //} } } catch (NullPointerException e) {} this.racine.add(lecteur); } } //On crée, avec notre hiérarchie, un arbre arbre = new JTree(this.racine); arbre.setRootVisible(false); arbre.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); arbre.setToggleClickCount(1); arbre.addTreeSelectionListener((TreeSelectionListener) this); /*public void valueChanged(TreeSelectionEvent event) { if(arbre.getLastSelectedPathComponent() != null){ System.out.println(arbre.getLastSelectedPathComponent().toString()); } }*/ this.getContentPane().add(new JScrollPane(arbre)); } private DefaultMutableTreeNode listFile(File file, DefaultMutableTreeNode node){ int count = 0; if(file.isFile()) return new DefaultMutableTreeNode(file.getName()); else{ for(File nom : file.listFiles()){ DefaultMutableTreeNode subNode; if(nom.isDirectory()){ subNode = new DefaultMutableTreeNode(nom.getName()+"\\"); node.add(this.listFile(nom, subNode)); }else{ subNode = new DefaultMutableTreeNode(nom.getName()); } node.add(subNode); } return node; } } public void valueChanged(TreeSelectionEvent e) { if(arbre.getLastSelectedPathComponent() != null){ System.out.println(arbre.getLastSelectedPathComponent().toString()); } } }
Salut, je suis un véritable nouveau dans le monde de la programmation orientée objet.
J'ai besoin de creer un programme permettant de se promener avec Jtree dans tout les répertoires du PC dans un premier temps. Ensuite il faudra que j'affiche les fichiers sélectionner (c'est pas du gateau ^^).
Vous donnez une solution qui permet de se balader dans le C:\\ . Cette solution ne me permet que d'acceder qu'au premier repertoire du C:\\.
Comme je l'ai dit il faudrait que je puisse aller partout, pouvez-vous me donnez un coup de pouce svp ? (A mon niveau ce serait plutot un gros coup de tatane ^^)
Merci !!
PS: j'ai posté ici car je pensai que ce serait le mieux
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager