bonjour,
j'ai trouvé ce code sur internet, pour voir comment fonctionnent les JTree, il compile mais aucune fenetre n'apparait...
savez-vous pourquoi ?
merci
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 import java.awt.Dimension; import java.io.File; import javax.swing.*; import javax.swing.tree.*; public class A extends JFrame { private File[] _roots; private JTree _dirs; public A() { // taille de la fenetre setSize(500,500); // on recupère les lecteurs _roots = File.listRoots(); // on définit notre premier noeud DefaultMutableTreeNode racine = new DefaultMutableTreeNode("Poste de travail",true); // Création du jtree _dirs = new JTree(racine); _dirs.setSize(1000,500); // 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); } // on met le jtree dans un jscrollpane JScrollPane scroll = new JScrollPane(_dirs); scroll.setPreferredSize(new Dimension(600,600)); scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); // on ajoute notre jscrollpane getContentPane().add(scroll); } /** * Méthode récursive permettant de récupérer * tous les fichiers et sous dossiers d un autre * @param root un File qui représente le lecteur ou le repertoire de départ * @return DefaultMutableTreeNode */ public DefaultMutableTreeNode getSubDirs(File root) { // on créé un noeud DefaultMutableTreeNode racine = new DefaultMutableTreeNode(root,true); // on recupère la liste des fichiers et sous rep File[] list = root.listFiles(); if ( list != null) { // pour chaque sous rep on appel cette methode => recursivité for (int j = 1 ; j<list.length ; j++) { DefaultMutableTreeNode file = null; if (list[j].isDirectory()) { file = getSubDirs(list[j]); racine.add(file); } } } return racine; } //main public static void main(String[] args) { A ex = new A(); ex.setVisible(true); } }
Partager