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

Composants Java Discussion :

Lister les fichiers d'un répertoire avec JTree


Sujet :

Composants Java

  1. #1
    Débutant  
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Points : 117
    Points
    117
    Par défaut Lister les fichiers d'un répertoire avec JTree
    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!

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    Bien sure. Mais si ce n'est qu'une liste des fichiers, autant prendre une JList.

  3. #3
    Débutant  
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Points : 117
    Points
    117
    Par défaut
    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 )

  4. #4
    Membre du Club
    Homme Profil pro
    Etudiant (domaine de prédilection java)
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant (domaine de prédilection java)
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Points : 62
    Points
    62
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!variable.isDirectory){ //instructions..;
    . J'espère que ça t'aura aidé...
    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());
    		}
     
    	}
     
    }

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut complter programme
    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

Discussions similaires

  1. Lister les fichiers d'un répertoire dans une feuille Excel
    Par AlainTech dans le forum Contribuez
    Réponses: 3
    Dernier message: 10/03/2016, 15h14
  2. [C++/Unix] Lister les fichiers d'un répertoire
    Par bouazza92 dans le forum Linux
    Réponses: 5
    Dernier message: 10/12/2013, 23h07
  3. Réponses: 3
    Dernier message: 20/02/2011, 00h01
  4. Réponses: 1
    Dernier message: 25/02/2009, 10h44
  5. [CF][PPC/C#] Comment lister les fichiers d'un répertoire ?
    Par dady dans le forum Windows Mobile
    Réponses: 18
    Dernier message: 20/05/2005, 15h35

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