Précédent   Forum du club des développeurs et IT Pro > Java > Interfaces Graphiques en Java > AWT/SWING
AWT/SWING
Forum d'entraide pour les API Swing et AWT. Avant de poster -> FAQ AWT/SWING
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 13/12/2012, 22h56   #1
Ywnith
Invité régulier
 
Homme
Étudiant
Inscription : novembre 2012
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : novembre 2012
Messages : 18
Points : 6
Points : 6
Par défaut Récupérer Objet File JComboBox

Bonsoir !

Je m’entraîne actuellement à la partie graphique, étant débutant en Java je bloque sur des choses parfois simples.

L'exemple ci-dessous est un peu 'caricaturé' pour essayer d'être clair.

Je possède une JComboBox qui se "remplie" de chemins de fichiers se trouvant dans un dossier spécifique. Voici le code :
Code :
1
2
3
4
5
6
7
8
9
10
 
private JComboBox FichiersDossier = new JComboBox();
		File directory = new File(System.getenv("APPDATA"), ".dossier/test");
 
        File[] files = directory.listFiles(filefilter);
 
        for (int i = 0; i < files.length; i++) {
        	System.out.println(files[i]);
        	FichiersDossier.addItem(files[i].getName());
        }
Pour le filefilter, c'est juste pour sélectionner une extension de fichiers, ce qui marche bien.

Ce que je souhaite :
L'utilisateur sélectionne un fichier dans le JComboBox pour le supprimer via un bouton.
Or pour supprimer, je veux récupérer récupérer, via un .get je suppose, ce qui a été sélectionné dans le JComboBox, qui doit être le chemin d'accès au fichier.
J'ai bien essayé en regardant la Javadoc mais je me perds un peu ou ne saisis pas bien la démarche.

Pour mon bouton j'ai ceci :

Citation:
if (source == supprimerFichier) {
Mais je ne vois pas quoi mettre pour récupérer le chemin d'accès du dossier !

Si quelqu'un peut me filer un petit coup de pouce. Merci !
Ywnith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 23h29   #2
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 278
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 278
Points : 32 754
Points : 32 754
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
getName ne retourne que la fin du nom du fichier. Si tu stocke ça dans ta combobox, tu n'as plus assez d'information pour la suite.Stocke directement les File dedans, comme ça tu fais ensuite.
Code :
File aSupprimer = (File)FichiersDossier.getSelectedItem()
Mais bon , du coupe, ça va afficher du caca à l'écran par défaut. Pour rattraper ça, il faut fournir à JComboBox un CellRenderer de ton cru qui sais comment afficher un File (comme par exemple afficher son getName() ou son path ou que sais-je
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 23h48   #3
Ywnith
Invité régulier
 
Homme
Étudiant
Inscription : novembre 2012
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : novembre 2012
Messages : 18
Points : 6
Points : 6
Merci bien de ta réponse ! J'ai trouvé un moyen de contourner un peu mon problème apparament mais je pense que ta solution sera mieux, en tout cas j'essaierai ça me fait apprendre.

J'ai fait comme ceci :
Code :
String aSupprimer = new String(listeBackupJar.getSelectedItem().toString());
Ça m'a récupéré le nom du fichier (avec extension), je l'ai ajouté à une méthode de suppression qui m'indiquait les fichiers parents et ça a fonctionné, en revanche je pense pas que je retiendrai cette façon de faire.

Citation:
Pour rattraper ça, il faut fournir à JComboBox un CellRenderer de ton cru qui sais comment afficher un File (comme par exemple afficher son getName() ou son path ou que sais-je
Pour le caca c'est du genre "C:\Users\Gertrude\AppData\Dossier\Test[...]" dans une JComboBox de 3 pixels de large je suppose.

Pas encore entendu parler des CellRenderer, je vais aller voir ça, merci !
Ywnith est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h03.


 
 
 
 
Partenaires

Hébergement Web