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);
       }
 
 
   }