p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    44
    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 : 44
    Points : 18
    Points
    18

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :

    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 !

  2. #2
    Expert Confirmé Sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    22 915
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 22 915
    Points : 43 543
    Points
    43 543

    Par défaut

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    "Tchize is always good. Tchize is just milk’s attempt at being immortal"
    faq java, cours java, javadoc. Pensez à et

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    44
    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 : 44
    Points : 18
    Points
    18

    Par défaut

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

    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 !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment récupérer le nom d'un fichier depuis un objet FILE ?
    Par amohr3010 dans le forum Bibliothèque standard
    Réponses: 8
    Dernier message: 05/10/2009, 22h11
  2. récupérer objet d'un treeview
    Par pavlacki dans le forum Delphi
    Réponses: 1
    Dernier message: 01/08/2006, 00h30
  3. [POO] objet file
    Par christel1982 dans le forum JavaScript
    Réponses: 11
    Dernier message: 07/02/2006, 15h23
  4. Réponses: 24
    Dernier message: 02/11/2005, 16h32
  5. [Open Inventor] Création d'un objet FILE
    Par seiryujay dans le forum IO
    Réponses: 7
    Dernier message: 16/03/2005, 18h29

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