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 :

Rafraichissement d'une JList


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Par défaut Rafraichissement d'une JList
    Bonjour, je débute en java. Voilà j'ai créé une JList scrollable qui est sensée afficher des éléments répondant à certains critères. J'ai une liste au départ et je filtre chacun des éléments avec des 'if'. Si c'est bon j'ajoute l'élément à un vector puis je met le vector dans la JList, l'ajout au vector se fait dans un public void actionPerformed (un bouton) à l'intérieur, mon vector est bien alimenté mais rien ne sort (void oblige) et ma JList reste vide.
    C'est une mauvaise méthode ou bien...
    Si quelqu'un a une idée????
    Merci par avance.

  2. #2
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Citation Envoyé par Greg83
    [...]je met le vector dans la JList[...]
    Montre cette ligne stp

  3. #3
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Par défaut
    Dans les 'if' j'ai mis ça :
    listeItems.addElement(tempolist[inda][0]+" "+tempolist[inda][1]);
    où listeItems est mon vector (public), inda est un compteur qui me sert à balayer la liste original de laquelle je veux extraire certains éléments, tempolist est un String[][] qui contient ce que je veux rajouter, déclaré comme public.

    Je met mon vector dans la JList comme ça :
    jliste = new JList(listeItems);
    jliste est déclaré comme public au début : public JList jliste;


    Si je ne filtre pas avec les 'if' l'affichage marche bien...

  4. #4
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    A la place de ton add :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((DefaultListModel)jliste.getModel()).addElement(tempolist[inda][0]+" "+tempolist[inda][1]);
    Ca devrait suffire (Par défaut, le model associé a ta JList est un DefaultListModel. Tu dois donc l'utiliser pour ajouter les éléments, les méthodes d'ajouts et de suppression générant des évènements de raffraichissement à la JList)

  5. #5
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Par défaut
    Merci de m'aider, voilà j'ai fais ce que tu m'as dit et voilà :

    Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JList$2 cannot be cast to javax.swing.DefaultListModel


    ??

  6. #6
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Alors je me suis trompé... Crée un DefaultListModel et ajoutes y tous les éléments de ton vector, puis mets ce model au constructeur de ta JListe. Ca devrait marcher suite à cela

  7. #7
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 11
    Par défaut
    J'ai trouvé, en fait j'oublié de rafraichir le scroll avec Scroller_liste.getViewport().setView(jliste);

    Désolé et merci

Discussions similaires

  1. rafraichissement d'une JList dans un JScrollPane
    Par Nicool dans le forum Composants
    Réponses: 3
    Dernier message: 12/05/2006, 13h59
  2. Showmodal puis rafraichissement d'une table
    Par navis84 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/03/2005, 09h09
  3. [JList] Element d'une JList décalés !!!
    Par Shiryu44 dans le forum Composants
    Réponses: 7
    Dernier message: 17/03/2005, 13h23
  4. Redimensionner une JList en largeur
    Par billyboy dans le forum Composants
    Réponses: 3
    Dernier message: 06/06/2004, 18h48
  5. [MFC] probleme de rafraichissement d'une image
    Par Vestaproman dans le forum MFC
    Réponses: 6
    Dernier message: 10/01/2004, 00h59

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