Introduction à Java/Swing
Listes et listes déroulantes : sélecteur de fichier

L'objectif de cet exercice est de créer un sélecteur de fichier semblable à celui de la figure ci-dessous :

La liste au centre de la fenêtre contient les noms des fichiers du répertoire courant, les noms des sous-répertoires étant suivis du symbole /. La liste déroulante située en haut de la fenêtre donne accès aux répertoires parents de celui affiché.

En partant du fichier FileSelector.java et à l'aide des classes JComboBox, JList, JScrollPane et JButton, construire l'interface ci-dessus. S'assurer que le placement des widgets reste conforme à cette image lorsqu'on redimensionne la fenêtre.
Faire en sorte que le choix d'un répertoire parent modifie le contenu des deux listes pour afficher les parents et fichiers de ce répertoire.
Faire en sorte que le bouton Open ne soit utilisable que lorsqu'un fichier ou un répertoire est sélectionné dans la liste centrale.
Faire en sorte que l'appui sur l'un des deux boutons (Cancel ou Open) ferme la boîte de dialogue.
Faire en sorte que le choix d'un répertoire dans la liste centrale suivi de l'appui sur le bouton Open modifie le contenu des deux listes pour afficher les parents et fichiers de ce répertoire.
Faire en sorte qu'un double-click sur un fichier de la liste centrale soit équivalent à sa sélection suivie d'un appui sur le bouton Open.

Pour information, Swing propose en standard la classe JFileChooser qui permet de choisir de manière simple un fichier ou répertoire.