[Swing] Obtenir un filechooser arborescent

Isendil Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   -  
Isendil Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai besoin de demander à un utilisateur de sélectionner un dossier dans une application développée avec Swing. J'utilise pour l'instant un JFileChooser avec l'option setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY), ce qui affiche une fenêtre ressemblant à ça : https://www.java.net//blog/loneid/archive/Vista/Issue2.jpg .

J'aurais aimé obtenir une fenêtre qui ressemblerait bien plus à celle là : http://www.java2s.com/Code/JavaImages/Snippet33.PNG , car je trouve son comportement plus intuitif pour la sélection d'un dossier.
Après avoir un peu cherché, je n'ai rien trouvé qui me permettrait de faire ça, si vous avez une idée je suis preneur !

Merci d'avance
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Ce que tu cherches c'est donc une combinaison de JFileDialog et JTree.
À ma connaissance cela n'existe pas dans l'API standard, mais tu peux par exemple utiliser SWT qui possède une classe DirectoryDialog.

Exemple de code :

import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Shell;

public class Test
{
    public static void main(String...args)
    {
        DirectoryDialog dialog = new DirectoryDialog(new Shell());
        String dir = dialog.open();
        System.out.println(dir);
    }
}

Sous Windows 7, cela donnerait ceci :
Remarque : pour installer SWT, tu dois avoir Eclipse. Tu vas dans le menu "Help", "Install New Software", puis dans le premier champs tu choisis "All Available Sites", et dans le deuxième tu tapes "SWT", tu dois avoir 4 plugins à sélectionner et installer.

Ensuite, tu dois rajouter le JAR dans ton projet en faisant "Project", "Properties", "Java Build Path", "Add External JARs" et tu vas choisir dans le dossier d'installation d'Eclipse le dossier plugins et un fichier JAR qui doit s'appeler org.eclipse.swt (il y en a plusieurs de quelques Ko et un de plusieurs Mo, c'est celui-ci que tu dois choisir)
1
Isendil Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   22
 
Ok je vais voir ça... J'avais jamais utilisé SWT, je vais en profiter pour voir un peu ce que ça contient :) Merci beaucoup !
0