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 :

[JList] suppression : pb castage


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 16
    Par défaut [JList] suppression : pb castage
    Bonjour,

    je concois une interface graphique contenant un JList.
    Cette JList a été initialisé par quelques élements par setModel(..)

    J'ai un bouton supprimer qui par son action doit supprimer l'element selectionné.
    C'est là que j'ai un souci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import javax.swing.DefaultListModel;
    ..
     
    private void buttonSupprimerElementActionPerformed(java.awt.event.ActionEvent evt) {
        DefaultListModel m = (DefaultListModel) listElements.getModel();
        m.removeElementAt(listElements.getSelectedIndex());
    }
    la dessus j'ai une erreur :
    Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JList$5
    sur la ligne getModel().

    Je n'arrive pas à caster mon model "abstrait" dans le model par défaut..
    et j'ai fait a peu près la meme chose pour un DefaultTableModel !!

    Merci d'avance .

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Quelle garantie as-tu que c'est ce model qui est utilisé ?

    Avant de faire un cast il vaut mieux toujours vérifier si tu peux caster :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (listElements.getModel() instanceof DefaultListModel) {
        DefaultListModel m = (DefaultListModel) listElements.getModel();
    }
    et tu peux ajouter un test sinon pour connaitre la véritable classe utilisée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    else {
        System.out.println(listElements.getModel().getClass());
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 16
    Par défaut
    En effet,

    Pour initialiser cette jlist, j'ai utilisé directement setListData(unVector)

    donc j'ai mis une etape intermédiaire, pour créer un DefaultListModel
    puis j'ai mis un jlist.setModel(monDLM)

    merci..

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

Discussions similaires

  1. Suppression d'un élément JList
    Par twisst dans le forum NetBeans
    Réponses: 2
    Dernier message: 06/01/2012, 18h23
  2. Ajout et suppression dans JList
    Par Ant8386 dans le forum Composants
    Réponses: 1
    Dernier message: 30/01/2006, 17h52
  3. Suppression de la contrainte unique
    Par mika dans le forum SQL
    Réponses: 3
    Dernier message: 20/02/2003, 18h56
  4. [CR] suppression du bas de page
    Par grosjej dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 10/09/2002, 09h58
  5. Réponses: 3
    Dernier message: 12/06/2002, 22h15

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