Bonjour,
je cherche à faire un JFileChooser sous forme de JTree... Par ou commencer?? dois -je définir un renderer??
Est ce que quelqu'un pourrait me fournir des pistes, des orientations?
Merci!!!
Bonjour,
je cherche à faire un JFileChooser sous forme de JTree... Par ou commencer?? dois -je définir un renderer??
Est ce que quelqu'un pourrait me fournir des pistes, des orientations?
Merci!!!
salut,
Je connais pas bien la classe JFileChooser mais je pense qu'une surcharge des méthodes de JFileChooser qui crées l'objet dans lequel tu vas sélectionner ton fichier devrait te permettre d'arriver à tes fins. En surchargeant (si possible) cette méthode tu crée un JTree au lieu de ce qu'il y avait dans la classe originale.
Ou pas pour la surcharge du JFileChooser (qui doit être basé sur une JList ou quelquechose y ressemblant...)
Par contre va voire du coté de l2fprod commons il y a peut être quelque chose qui devrait t'intéresser.
Mais bon avant de t'attaquer aux renderers de ton JTree pour l'embellir contente toi d'un faire un simple qui marche (construction de l'arbre au fur et à mesure et pas dès le début en utilisant les évènements qui vont bien, manipulations de la classe File.........
Bref faudrait veiller à ne pas mettre la charrue avant le boeufs
Merci pour vos réponse... mais pourrais je avoir un peu plus d'info... je dois avouer que je suis débutant aussi...
Donc grosso modo tu as la classe File qui va être la base de ton programme
Donc tu commenceras par
Pour récupérer de répertoires de bases (par ex: sous windows les différents disques)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 File[] roots = File.listRoots();
Puis tu crées la structure de ton arbre avec des DefaultMutableTreeNode
Ensuite il ne faut surement pas charger toute l'arborescence d'un coup donc il faut utiliser un TreeSelectionListener sur ton JTree et te servir de la méthode getLastSelectedPathComponent() du JTree dans la méthode valueChanged du TreeSelectionListener et charger au fur et à mesure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //Pour chaque fichier contenu dans roots DefaultMutableTreeNode racine = new DefaultMutableTreeNode(); for(File f : roots) { DefaultMutableTreeNode tmp = new MutableTreeNode(f); //La tu fais une fontion récursive qui effectue la même opération pour tmp root.add(tmp); } TreeModel model = new TreeModel(root); JTree tree = new JTree(model);
++[/code]
ok merci je vois ca!!
Partager