IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

etbalir une arborescence des fichiers avec java


Sujet :

AWT/Swing Java

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 48
    Points
    48
    Par défaut etbalir une arborescence des fichiers avec java
    salut,je veusx afficher une arborescence comme windows ,avec jtree et voila mon code.
    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
    import javax.print.attribute.Size2DSyntax;
    import javax.swing.JFrame;
    import javax.swing.JTree;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;
    /*
     * Arbrejtree.java
     *
     * Created on 10 mars 2008, 20:26
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
     
    /**
     *
     * 
     */
    public class Arbrejtree extends JFrame{
     
        private String i;
     
     
        /** Creates a new instance of Arbrejtree */
        public Arbrejtree() {
         //  setSize(500,500);
     
            DefaultMutableTreeNode racine = new DefaultMutableTreeNode("c’est la racine");
     
    for( int i = 0; i < 3; ++i)
     
            racine.add( new DefaultMutableTreeNode("fils N° "+ i));
     
    JTree monArbre = new JTree(racine) ;
    //pour rajouter des noeuds
    racine.add( new DefaultMutableTreeNode ("fils N° "+ i));
     
    monArbre.setModel (new DefaultTreeModel(racine));
     
     }
     
    public static void main (String []args){
       // Arbrejtree es = new Arbrejtree();
       // es.setVisible(true);
    }
    }

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    et quelle est la questio/ le problème je te prie?

  3. #3
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Le parcours des fichiers je suppose ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Salut,
    à priori si tu ne pose pas de question, c'est que tu veux du code ?
    En voici, en voilà :
    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
     
    public class ExplorateurFichiers extends JFrame implements TreeSelectionListener{
        private File root;
        private TreeModel modele;
        private JTree tree; 
        private JTextArea infos;
        public ExplorateurFichiers(String repertoire){
            super("Explorateur de fichiers");    
            root = new File(repertoire);
            modele = new FileTreeModel(root);
            tree = new JTree(modele);
            tree.setCellRenderer(new FileRenderer());
            tree.addTreeSelectionListener(this);
            tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
     
            infos = new JTextArea();
            infos.setEditable(false);
            infos.setLineWrap(true);
            infos.setWrapStyleWord(true);
     
            getContentPane().setLayout(new GridLayout(1,2));
            getContentPane().add(new JScrollPane(tree));
            getContentPane().add(new JScrollPane(infos));
     
            setSize(500,500);
            setLocationRelativeTo(null); 
            setVisible(true);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
        }
        public void valueChanged(TreeSelectionEvent e){
            TreePath path = e.getPath();
            File file = (File)path.getLastPathComponent();
            String s = "Can read : \n   "+file.canRead()+"\n";
            s += "Can write : \n   "+file.canWrite()+"\n";
            s += "Parent : \n   "+file.getParent()+"\n";
            s += "Name : \n   "+file.getName()+"\n";
            s += "Length : \n   "+file.length()+"\n";
            s += "Last modified : \n   "+new Date(file.lastModified())+"\n";
            infos.setText(s);
        }    
        public static void main(String[] args){
            new ExplorateurFichiers("c:/");    
        }
    }
    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
    public class FileRenderer extends DefaultTreeCellRenderer{
        public FileRenderer(){
            super();    
        }    
        public Component getTreeCellRendererComponent(JTree tree,Object value
                ,boolean selected,boolean expanded
                ,boolean leaf,int row,boolean hasFocus){
            JLabel label = (JLabel)super.getTreeCellRendererComponent(tree,value,selected,expanded,leaf,row,hasFocus);
            File fichier = (File)value;
            FileSystemView sys = FileSystemView.getFileSystemView();
            label.setText(sys.getSystemDisplayName(fichier));
            label.setIcon(sys.getSystemIcon(fichier));
            return label;                
        }    
    }
    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
    public class FileTreeModel implements TreeModel{
        private File root; 
        public FileTreeModel(File file){
            root = file;    
        }    
        public List getFichiers(Object parent){
            File fileParent = (File)parent;
            File[] fichiers = fileParent.listFiles();
            Arrays.sort(fichiers,new Comparator<File>(){
                public int compare(File f1,File f2){
                    boolean dirf1 = f1.isDirectory();
                    boolean dirf2 = f2.isDirectory();
                    if(dirf1&&!dirf2){return -1;}
                    if(!dirf1&&dirf2){return 1;}
                    return f1.getPath().compareTo(f2.getPath());
                }    
            });
            return    Arrays.asList(fichiers);
        }
        public Object getRoot(){
            return root;
        }
        public Object getChild(Object parent, int index){
            return getFichiers(parent).get(index);
        } 
        public int getChildCount(Object parent){
            return getFichiers(parent).size();
        } 
        public int getIndexOfChild(Object parent, Object child){
            return getFichiers(parent).indexOf(child);
        } 
        public boolean isLeaf(Object node){
            File f = (File)node;
            return !f.isDirectory();
        }  
        public void valueForPathChanged(TreePath path, Object newValue){}  
        public void addTreeModelListener(TreeModelListener l){}  
        public void removeTreeModelListener(TreeModelListener l){} 
    }
    Je tient à préciser que ce code n'est pas de moi malheuresement je ne me souvient pas où est-ce que je l'ai récupéré
    ++

Discussions similaires

  1. Ouvrir des fichier avec Java
    Par mr-nameless dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 07/10/2009, 04h16
  2. Réponses: 3
    Dernier message: 27/05/2009, 13h31
  3. Explorer une arborescence de fichier avec SharePoint
    Par flo1981 dans le forum SharePoint
    Réponses: 3
    Dernier message: 18/02/2009, 11h55
  4. [C# 2.0] Creer une arborescence des fichiers
    Par Khrysby dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/08/2007, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo