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 :

JComboBox dynamique avec mutateur


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Par défaut JComboBox dynamique avec mutateur
    Bonjour à tous,

    Voilà mon soucis, j'ai 2 class Fenetre et NouvelleVue.

    La class Fenetre contient une JComboBox. Je lui ai créé un mutateur afin de pouvoir y accéder depuis ma deuxième class.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void addItemToComboBox(String item) {
            this.jComboBox1.addItem(item);
     
    //un label pour isoler le problème
     
    public void setjLabel2(String label) {
            this.jLabel2.setText(label);
        }
    }
    Ma class NouvelleVue permet via mon bouton valider d'ajouter un nouvel item à mon JComboBox de ma class Fenetre.
    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
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            String nom = jTextField1.getText();
     
     
            if (nom == null || nom.equals(""))
            {
     
     
                JOptionPane.showMessageDialog(null, "Veuillez indiquer le nom de la nouvelle vue", "Erreur : Champ de texte vide", JOptionPane.ERROR_MESSAGE, new ImageIcon("src/SDAB/images/erreur.png"));
            }
            else
            {
                Fenetre Fen = new Fenetre();
                Fen.addItemToComboBox(nom);
                Fen.setjLabel2(nom); //mon label pour isoler le problème
                JOptionPane.showMessageDialog(null, "La création de "+nom+" est un succès", "Création d'une nouvelle vue", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("src/SDAB/images/information.png"));
                dispose();
            }
     
     
        }                                        
     
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
           dispose();
     
        }
    Je n'ai pas d'erreur à la compilation mais mon JComboBox ne S'actualise pas donc Comment puis je l'actualiser ? ou peut être est ce un problème de paramètre de mon mutateur.

    j'ai également créé un label pour isoler le problème et celui ci ne s'actualise pas non plus.

    J'ai pas mal cherché sur internet et j'avoue que je rame un peu.

    Merci de vos réponses

  2. #2
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    jComboBox1.repaint(); ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Par défaut
    Merci de ta réponse mais cela ne marche!!

    peut être ai je mal utilisé la méthode. Je l'ai placé dans ma méthode addItemToComboBox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void addItemToComboBox(String item) {
          jComboBox1.addItem(item);
          jComboBox1.repaint();
        }
    Est ce bon ?

  4. #4
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    public void addItemToComboBox(String item) {
    this.jComboBox1.addItem(item);

    //un label pour isoler le problème

    public void setjLabel2(String label) {
    this.jLabel2.setText(label);
    }
    }
    plutôt comme ça, non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     public void addItemToComboBox(String item) {
            this.jComboBox1.addItem(item);
     }
    //un label pour isoler le problème
     
     public void setjLabel2(String label) {
            this.jLabel2.setText(label);
     }
    pour le repaint, je ne sais pas (encore) : je n'ai pas java sous la main...

    ...plus tard :

    chez moi ça marche, même sans repaint !

    dans la nouvelle fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public void ajout(String item) {
            jComboBox1.addItem(item);
        }
    et dans la frame de base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
            NewJFrame njf = new NewJFrame();
            njf.ajout("coucou");
            njf.setVisible(true);
        }

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Par défaut
    Oui exact j'ai mal copié/collé mon code dans le premier post désolé !!

    Mon deuxième post montre que mon accolade était bien fermé dans ma méthode addItemToComboBox.

    j'ai pensé à un setVisible() mais si c'est possible je n'y arrive pas. J'ai essayé ça avec un jComboBox1.insertItemAt(item, 1)

    et jComboBox1.setSelectedIndex(1).setVisible(true); mais cette ligne marque que setVisible() n'est pas référencé.

  6. #6
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    regarde ma précédente réponse, je viens de la compléter...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Par défaut
    Merci mon problème viens bien du setvisible() que j'utilisais mal.

    Mais maintenant il m'affiche une deuxième fenêtre mais la première reste afficher. comment puis je supprimer la première. J'ai essayé ça mais cela ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void addItemToComboBox(String item) {
          jComboBox1.addItem(item);
          dispose();
        }
    j'ai essayé également un setVisible(false) mais cela ne fonctionne pas non plus

    Edit : Bon j'ai trouvé une alternative je fais un dispose() lorsque je demande ma nouvelle fenetre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {                                           
            new NouvelleVue().setVisible(true);
            this.dispose(); // 
     
        }
    par contre je ne sais pas comment je pourrais garder ma première fenêtre ouverte pendant que la deuxième est également ouverte. Et ensuite n'avoir qu'une seule fenêtre d'ouverte à la validation ?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/12/2006, 22h56
  2. [JComboBox] editable avec % affiché en fin de saisie
    Par tomburn dans le forum Composants
    Réponses: 6
    Dernier message: 27/04/2005, 17h41
  3. [DisplayTag] Créer un lien dynamique avec javascript
    Par babylone7 dans le forum Taglibs
    Réponses: 3
    Dernier message: 20/04/2005, 11h23
  4. [débutant][Conception] Structure dynamique avec Java
    Par blaiseac dans le forum Général Java
    Réponses: 5
    Dernier message: 19/11/2004, 00h00
  5. comment creer un alias dynamique avec BDE et ODBC
    Par david33 dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/07/2002, 12h50

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