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

AWT/Swing Java Discussion :

Erreur ClassCastException pour Combobox


Sujet :

AWT/Swing Java

Vue hybride

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Par défaut Erreur ClassCastException pour Combobox
    Coucou c'est remoi

    Bon voila je vous explique, j'ai une combobox contenant des entreprises et je voudrai que lorsque je clique sur une entreprise il s'affiche les nbre de Km associés dans un textfield.

    Je fais cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    {	public void itemStateChanged(java.awt.event.ItemEvent e) 
    {
    if (ComboBoxEntreprise.getSelectedIndex() != 0)
    TextFieldkm.setText(((Entreprise)ComboBoxEntreprise.getSelectedItem()).getnbreKm());
     
    else if(e.getItem() == "Nouvelle Entreprise...")
    {	
    fenAjoutEntrep.getDialogAjoutEntrep().setModal(true);
    fenAjoutEntrep.getDialogAjoutEntrep().setVisible(true);
    }...
    Mais ensuite dans le programme lorsque je clique sur "Nouvelle Entreprise..." la boite de dialogue ne s'affiche plus et je récupére une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String
    	at InterfaceVisuel3$6.itemStateChanged(InterfaceVisuel3.java:1024)
    	at javax.swing.JComboBox.fireItemStateChanged(Unknown Source)

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Par défaut
    Je ne comprend pas car dans cette mm classe j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Personne ptmp	= new Personne (
    (Entreprise)ComboBoxEntreprise.getSelectedItem()...
    Qui est du mm style et là ça marche

    Quelqu'un aurait une idée?

    Merci d'avance

  3. #3
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    lu,

    ComboBoxEntreprise.getSelectedItem() te renvoie un Objet. dans ton cas, il renvoie un String puisque ton JComboBox utiliseun modèle par défaut...

    d'ailleurs la méthode getSelectedItem se base sur le modèle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        public Object getSelectedItem() {
            return dataModel.getSelectedItem();
        }
    donc, soit dans itemStateChanged, tu t'attends à avoir une chaîne de caractère comme élément sélectionné, soit tu crée ton propre modèle à partir de ComboBoxModel qui lui renverras une entité de type Personne lors de l'appel à getSelectedItem...

    J'espère t'avoir un peu aidé.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Ta méthode getnbreKm() renvoie un int ?
    setText ne veut qu'une String.
    Tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String.valueOf(blabla.getnbreKm())
    dans ton setText().
    Sinon pour l'égalité de chaines de caractères je te conseille fortement de ne pas utiliser == réservé aux types primitifs mais de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maChaine.equals(autreChaine);

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Par défaut
    Tout d'abord pour votre aide, je vais essayer tout de suite

    en fait pour getNbreKm() je renvoi bien un string et pas un int

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Par défaut
    En fait l'erreur et exactement sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextFieldkm.setText(((Entreprise)ComboBoxEntreprise.getSelectedItem()).getnbreKm());

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Par défaut
    Peut être faut-il que je ne mette pas dans mon itemlistener :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (ComboBoxEntreprise.getSelectedIndex() != 0)
    TextFieldkm.setText(((Entreprise)ComboBoxEntreprise.getSelectedItem()).getnbreKm());
    J'ai essayé a d'autre endroit mais je ne voit pas

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ok au temps pour moi.
    Mais bon pour le equals c'est quand même mieux de l'utiliser...
    Je crois qu'il s'agit d'une différence genre égalité physique et égalité logique quand tu utilises l'un ou l'autre

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

Discussions similaires

  1. [MySQL] Erreur sql pour inserer des checkbox
    Par digger dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/11/2005, 11h06
  2. erreur code pour désactiver molette souris.
    Par rangernoir dans le forum Access
    Réponses: 2
    Dernier message: 27/09/2005, 10h14
  3. [Débutant(e)] Message d'erreur JDBC pour oracle
    Par krakatoe dans le forum JDBC
    Réponses: 1
    Dernier message: 14/09/2005, 16h44
  4. Erreur lancement pour DTS
    Par HULK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 19/08/2005, 12h46
  5. [ODBC] erreur SQL pour les unions qui renvoient vide
    Par fabriceMerc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/11/2003, 11h06

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