Affichage du contenu d'une AWT List [Résolu]

Messages postés
2
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
28 février 2010
- - Dernière réponse : cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
- 1 mars 2010 à 05:35
Bonjour à tous,

j'ai un code qui permet de lire un fichier texte, et d'en afficher le contenu dans une AWT List.. J'ai aussi un bouton "Supprimer" quit permet de supprimer une ligne de la liste (et non pas du fichier texte).. jusque là tout fonctionne à merveille!

mon problème, c'est qu'après avoir supprimer la ligne sélectionner je veux que les changements s'appliquent au fichier texte. J'ai donc commencé à essayer d'afficher le contenu de la liste après suppression de l'élément:

 private void SupprimerDossierActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        
        String selection=list1.getSelectedItem();
        list1.remove(list1.getSelectedItem());
 
        System.out.println(list1.getItems());


Ce qui me retourne un joli:

[Ljava.lang.String;@1e4457d 


Jai donc essayé de modifier mon code.. en vain et avec le même message en retour:

   private void SupprimerDossierActionPerformed(java.awt.event.ActionEvent evt) {                                                 
 
        
        String selection=list1.getSelectedItem();
        list1.remove(list1.getSelectedItem());
 
        String[] items= {list1.getItems().toString()};
        System.out.println(items);


Merci d'avance pour votre aide..
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
82
3
Merci
Salut,

Normal vu que tu essaye d'afficher la valeur d'un tableau : il ne t'affiche que la référence mémoire de ce tableau, c'est à toi de parcourir les éléments un à un :
private void supprimerDossierActionPerformed(java.awt.event.ActionEvent evt) { // autant respecter le standard de java : pas de majuscule à la première lettre d'un nom de méthode                                                         
        // String selection=list1.getSelectedItem(); // quel intérêt si tu ne te sers pas de la variable selection ?
        list1.remove(list1.getSelectedItem());
 
        String[] items= list1.getItems(); // pas de toString ici !
        for (String item : items) { // on parcourt les items un à un
            System.out.println(item);
        }


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Messages postés
2
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
28 février 2010
0
Merci
Merci bien Dark pour ta réponse, j'avais au fait réussi à résoudre le problème avec un :

for (int i = 0; i < list1.getItemCount(); i++)
             {
                 System.out.println(list1.getItem(i));}


c'est très proche de ta solution en fin de compte, non?

Merci encore pour ton aide
Commenter la réponse de NaZeF
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
82
0
Merci
Salut,

Oui, ca revient au même : j'utilisais une boucle for each (introduite dans Java 5) mais qui équivaut strictement à la même chose que ton code en un tout petit peu plus compact.

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS