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 :

getSelectedItem me retourne toujours la même valeur


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut getSelectedItem me retourne toujours la même valeur
    Bonsoir,

    J'ai un JComboBox dont les valeurs sont récupérées sur une base de données.
    J'ai un problème pour récuperer l'élément selectionné je fais un
    monJcomboBox.getSelectedItem() et je récupère toujours le premier élément
    de mon item.Et ce quelque soit le choix que je fais.J'ai du louper quelque chose.

    Voici le code ma classe

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     public Recherche(java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();
                       try {
                    
            // Connection à la base de données
                     maListe = new Vector() ;
                     
            essai = new TestBdd() ;
        
            requete = "select nomLogiciel from licence" ;
           ResultSet resultat = essai.interrogerBdd(requete) ;
            while (resultat.next())
            {
              res = resultat.getString("nomLogiciel") ;
                maListe.addElement(res);
               jComboBox1.addItem(res) ;
               
             }
               jComboBox1 = new JComboBox(maListe) ;
          // essai.closeBdd() ;
               
               // Gestion des événements
               
                 validerRecherche.addActionListener(new ActionListener() {
                public void actionPerformed (ActionEvent e)
                {
                        JButton source = (JButton)e.getSource() ;
                    if ( source.equals(validerRecherche))
                    {
                        // Récupérer la valeur d'une liste par getSelectedItem()
                       
                      licence = jComboBox1.getSelectedItem().toString() ;                    
                        System.out.println("Vous avez selectionné"+licence) ;
                       // Appel d'une fenetre infolicence
                      //  instance = new InfoLicence(Recherche.this,true,licence) ;
                     }
                     }            
            }) ;
               
              annulerRecherche.addActionListener(new ActionListener() {
                public void actionPerformed (ActionEvent e)
                {
                        JButton source = (JButton)e.getSource() ;
                    if ( source.equals(annulerRecherche))
                    {
                        System.out.println("Vous avez cliqué sur Annuler Recherche") ;
                                    
                    }
                    }            
            }) ;   
               
            
            
            
                       }
            
             catch (Exception e ) {
                System.out.println("Une erreur est survenue") ;
            }
            
        } // Fin du constructeur
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Citation Envoyé par une_tite_question Voir le message
    je fais un
    monJcomboBox.getSelectedItem() et je récupère toujours le premier élément
    de mon item.
    De ton "item"? Tu change bien de valeur en sélectionnant autre chose?

    Je vois que tu recrée ta jcombobox. T'es sur que le JCombobox que laquelle tu fait le getSelectedItem() est bien la même que celle que tu as ajoutée avec add().

    Parce que si tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    add(combobox)
    combobox=new JCombobox(.....);
    .....
    combobox.getSelectedItem()
    tu va faire un getSelectedItem sur un combobox pas affichée, différente de celle qui est dans le frame (et donc placée à sa valeur par défaut)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    Bonsoir,
    D'abord merci de m'aider.
    De ton "item"? Tu change bien de valeur en sélectionnant autre chose?
    mon combobox est basé sur une liste et j'obtiens le premier élément de la liste
    et effectivement je change bien la valeur du JComboBox.

    T'es sur que le JCombobox que laquelle tu fait le getSelectedItem() est bien la même que celle que tu as ajoutée avec add().
    Je n'ai qu'une seule JComboBox.
    Si t'as d'autres pistes je suis preneur.

    Merci

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Citation Envoyé par une_tite_question Voir le message

    Je n'ai qu'une seule JComboBox.
    Si t'as d'autres pistes je suis preneur.

    Merci
    C'est pas ce que dit ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public Recherche(java.awt.Frame parent, boolean modal) {
            // ...
            initComponents();
            //....
            maListe.addElement(res);
            jComboBox1.addItem(res) ; // Là un jComboBox1 existe déjà probablement créé et add() dans initComponent()
            //....
            jComboBox1 = new JComboBox(maListe) ;  // on crée un nouveau jCombobox1
            // .....                   
            licence = jComboBox1.getSelectedItem().toString() ;                    
            // on lit depuis le deuxième jComboBox1, mais qui n'est pas celui à l'écran!

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    Rien à dire T'es trop fort c'est bien ça.
    Merci beaucoup ce qui m'étonne c'est que je n'ai pas eu de message indiquant que le nom de variable était déjà utilisé.

    Merci

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    pourquoi tu aurais voulu avoir un message, ce que tu a fait était mauvais d'un point de vue logique, mais le compilateur vérifie la grammaire, pas la logique.

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

Discussions similaires

  1. Mes boutons radio me retournes tous la même valeur (1)
    Par MikeV dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/01/2008, 16h47
  2. Réponses: 4
    Dernier message: 13/11/2007, 09h01
  3. 1 site, 2urls, on retourne toujours la même url
    Par c4cf6 dans le forum Apache
    Réponses: 1
    Dernier message: 29/06/2007, 17h02
  4. [JTextField] getText renvoie toujours la même valeur
    Par Sufflope dans le forum Composants
    Réponses: 4
    Dernier message: 13/01/2007, 01h12
  5. [sockets] gethostbyname retourne toujours la même chose
    Par Strab dans le forum Développement
    Réponses: 3
    Dernier message: 15/09/2006, 10h24

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