IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Probleme affichage JList


Sujet :

Composants Java

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Par défaut Probleme affichage JList
    bonjour à tous voila j 'ai un problème dans l 'affichage de ma JList je lui passe une HashMap comprenant des produits que j ai mis en key et quantité par défaut 1 que j ai mis dans value. j ai instancié 3 objets mais le problème est qu'il m affiche 3 false dans la JList. Si quelqu'un a déjà eu un souci de ce genre. Peut-il m 'éclairer ?

    Merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    		scroolpane = new JScrollPane();
    		liste = new JList();
    		ltp = new Panier();
     
    		liste.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
     
    		int i = 1;
    		Produit p = new Produit("Motherboard phoenix", "M26366", "120", "21");
    		Produit p2 = new Produit("keyboard Logitech", "K23699", "99", "21");
    		Produit p3 = new Produit("Alienware dell", "KF4535", "989", "21");
    		ltp.ajouterProduits(p, i);
    		ltp.ajouterProduits(p2, i);
    		ltp.ajouterProduits(p3, i);
     
    		/*for(Entry<Produit,Integer> entry : ltp.getListeProduit().entrySet()){
    			Produit cle = entry.getKey();
    			int val = entry.getValue();
    			System.out.println(cle.toString()+" Quantité = "+val);
    		}*/
     
    		modelListe = new ModelListe(ltp);
    		liste.setModel(modelListe);
    		scroolpane.setViewportView(liste);
    		this.getContentPane().add(scroolpane,BorderLayout.CENTER);
    je pense que le problème vient de mon model de la méthode getElementAt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    package modelListe;
     
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
     
    import javax.swing.AbstractListModel;
     
    import pojo.Panier;
    import pojo.Produit;
     
    public class ModelListe extends AbstractListModel {
     
    	private Panier ltp;
     
     
    	public ModelListe(Panier l){
    		ltp = l;
    	}
     
     
    	@Override
    	public Object getElementAt(int index) {
     
    		return ltp.getListeProduit().containsKey(index);
     
     
    	}
     
    	@Override
    	public int getSize() {
    		return ltp.getListeProduit().size();
    	}
     
    	public Panier getLtp() {
    		return ltp;
    	}
     
    	public void setLtp(Panier ltp) {
    		this.ltp = ltp;
    	}
     
     
     
     
    }

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Par défaut
    containsKey(key) est une fonction qui vérifie si la clef passée en paramètre existe dans le HashMap et qui renvoie un booléen, normal que tu es des false dans ta JList.

    Il va surement falloir que tu utilises une autre structure dans ton ModeleListe pour afficher le nom du produit, car ça ne va pas être évident avec le HashMap (sa méthode get() demande à ce que tu passes un Produit en paramètre, or tout ce que tu as c'est un entier (index)).

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Par défaut
    Merci de votre réponse je ne comprend pas comment je pourrais faire cette méthode getElementAt avec une HASHmap. j ai chercher en mais sans résultat valable si quelqu'un à une idée je suis preneur

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Par défaut
    Il y aurait ça comme solution, mais encore, traiter avec un HashMap dans une JList c'est pas top... L'utilisation d'un ArrayList ou d'un autre objet gérant l'hashmap comme une liste aurait été plus adapté, car getElementAt(int index) te donne l'indice d'un tableau (celui qui compose les éléments de ta JList).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @Override
    public Object getElementAt(int index) {		
    	return ltp.getListeProduit().keySet().toArray()[index];
    }
    Tu n'aimes pas beaucoup la touche apostrophe de ton clavier dis moi

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 8
    Par défaut
    Je pense que la méthode la plus simple est d'appeler la méthode getElementAt de l'attribut listeProduit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      @Override
      public Object getElementAt(int index) {		
    	return ltp.getListeProduit().getElementAt(index);
      }

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Par défaut
    Citation Envoyé par M4veR1K Voir le message
    Il y aurait ça comme solution, mais encore, traiter avec un HashMap dans une JList c'est pas top... L'utilisation d'un ArrayList ou d'un autre objet gérant l'hashmap comme une liste aurait été plus adapté, car getElementAt(int index) te donne l'indice d'un tableau (celui qui compose les éléments de ta JList).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @Override
    public Object getElementAt(int index) {		
    	return ltp.getListeProduit().keySet().toArray()[index];
    }
    Tu n'aimes pas beaucoup la touche apostrophe de ton clavier dis moi
    merci bcp de ta réponse ca fonctionne à merveille mais j ai trouver aussi une autre solution je la poste au cas ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	public Object getElementAt(int index) {
    		List listProduit = new ArrayList();
    		for(Entry<Produit, Integer> entry : ltp.getListeProduit().entrySet()){
    			listProduit.add(entry.getKey());
    		}
    		return listProduit.get(index);
     
     
    	}

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

Discussions similaires

  1. probleme d'affichage Jlist
    Par Asmod_D dans le forum NetBeans
    Réponses: 0
    Dernier message: 13/05/2009, 22h03
  2. Probleme affichage de mon site
    Par Braq dans le forum Webdesign & Ergonomie
    Réponses: 15
    Dernier message: 10/08/2005, 14h08
  3. problem affichage avec HTML::TableExtract
    Par rootdaoud dans le forum Web
    Réponses: 2
    Dernier message: 04/07/2005, 19h35
  4. Probleme affichage noir quand Build/Compile
    Par balabi dans le forum MFC
    Réponses: 3
    Dernier message: 01/06/2005, 16h12
  5. Probleme affichage dans tableau selon requête
    Par moulette85 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 01/03/2005, 15h44

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