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

 Java Discussion :

[événementiel] Modifier une liste


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut [événementiel] Modifier une liste
    Bonjour,

    Après une recherche dans la FAQ où je n'ai pas su trouver de réponse, je viens vers vous pour essayer de comprendre...

    J'ai une interface somme toute assez basique.

    Une première liste contenant des avions, une seconde où j'aimerai afficher les vols associés.

    Pour ce faire, j'aimerai que lorsque je sélectionne un item de la première liste, la seconde se charge avec la collection de vol que possède l'avion...

    jCBListeAvion est ma combo box avec la liste des avions.
    Code java : 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
     
     
            DefaultComboBoxModel modelVol = new DefaultComboBoxModel();
            jCB_ListeVol = new javax.swing.JComboBox(modelVol);
    (...)
            jCB_ListeAvion.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jCB_ListeAvionActionPerformed(evt);
                }
            });
     
    (...)
        private void jCB_ListeAvionActionPerformed(java.awt.event.ActionEvent evt) {                                               
            jCB_ListeVol.removeAllItems();
            taille = desAvions.get(jCB_ListeAvion.getSelectedIndex()).getMesVols().size();
            List<Vol> sesVols = desAvions.get(jCB_ListeAvion.getSelectedIndex()).getMesVols();
            for(int i=0; i < taille; i++){
             modelVol.addElement(sesVols.get(i).getIdentifiant());
            }
        }

    Je loupe quoi ? :/

    (en fait je n'ai pas vraiment comprit comment on capte les évènements non plus... Même ayant lu des cours...)
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    Quel est le problème au final ? Quand tu cliques sur un avion, la comboBox des vols n'est pas mise à jour ?
    Si c'est le cas, es tu sur que :
    La fonction jCB_ListeAvionActionPerformed est bien appellée au clic (à priori je ne vois pas de problème la dessus mais bon)
    Les valeurs utilisées dedans sont les bonnes, notamment si le modèle de la comboBox des vol correspond bien.

  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Quel est le problème au final ?
    Le problème est que ma jComboBox de liste de vols est vide lors de la sélection d'un élément de la liste d'avion.

    La fonction jCB_ListeAvionActionPerformed est bien appellée au clic (à priori je ne vois pas de problème la dessus mais bon)
    non je ne suis pas sûre :s
    J'ai rapidement lu des cours sur le "comment appeler une action suite à un évènement sur un item graphique" mais pas sûr d'avoir réellement bien comprit la chose...

    Les valeurs utilisées dedans sont les bonnes, notamment si le modèle de la comboBox des vol correspond bien.
    Normalement oui mais j'avoue que je n'ai pas testé de la remplir avec des items "toto" juste histoire de voir si le clic était intercepté ou non
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    Pour vérifier que ca passe bien dans l'action Listener, ajoute une portion de code que tu peux détecter facilement (genre un System.out) c'est encore ce qu'il y'a de plus simple.

    Sinon pour le modèle, "problème" dans ton code c'est qu'on ne voit pas d'ou tu sors le modèle dans ton action Listener. Je ne sais pas si tu l'as volontairement enlevé pour ne pas nous mettre trop de chose, mais dans le cas contraire, essaye plutôt de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DefaultComboBoxModel  model = (DefaultComboBoxModel) jCB_ListeVol.getModel();
    model.removeAllElement();
     for(int i=0; i < taille; i++){
             model.addElement(sesVols.get(i).getIdentifiant());
    }
    De sorte tu es sure que tu touches au bon modèle (enfin à condition que ce soit le bon comboBox )

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Hum...

    Mon modèle ce n'est pas lui ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DefaultComboBoxModel modelVol = new DefaultComboBoxModel();
    C'est un attribut qui appartient à la classe.
    Il me sert à construire ma JComboBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jCB_ListeVol = new javax.swing.JComboBox(modelVol);
    Et c'est lui que je souhaite modifier à chaque passage dans la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    modelVol.addElement(sesVols.get(i).getIdentifiant());
    C'est incorrect ?


    (je verrai ce soir pour le System.out... Je n'ai pas accès à mon code source au boulot...)
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    Bah le truc c'est que quand on voit ton code, sauf dans la fonction ou tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DefaultComboBoxModel modelVol = new DefaultComboBoxModel();
    tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this.modelVol = modelVol;
    Bah alors le modèle de ta classe n'est pas le bon.

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

Discussions similaires

  1. Modifier une liste déroulante (Combobox)
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/06/2007, 12h22
  2. [GTK+] Modifier une liste via une fonction callback
    Par odsen.s dans le forum GTK+ avec C & C++
    Réponses: 12
    Dernier message: 03/05/2007, 17h33
  3. [debutant]modifier une liste deroulante
    Par dimmak dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/02/2007, 15h19
  4. [debutant]Modifier une liste passer en parametres
    Par chpog dans le forum Langage
    Réponses: 3
    Dernier message: 03/01/2006, 11h57
  5. modifier une liste deroulante
    Par navona dans le forum IHM
    Réponses: 2
    Dernier message: 30/11/2005, 00h01

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