Actualiser une JComboBox

Résolu
Signaler
Messages postés
54
Date d'inscription
dimanche 12 septembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007
-
Messages postés
54
Date d'inscription
dimanche 12 septembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007
-
bonjour à tous


lors du chargement de mon panel je rempli ma JComboBox avec des données de ma BDD,

depuis un autre panel j'ai un formulaire, une fois rempli je rappel la fonction de remplissage de la JComboBox depuis ce panel

mais quand je retourne sur l'autre panel la Combo est vide ...

voici mon code :



public     void        
           
           
           
remplirListeProduit()

    {

        this.listeProduit.removeAllItems();

        

        Connection    
           
connectMySQL        =    
    null;

        Statement    
           
    ordreMySQL       
    =         null;

        ResultSet    
           
        resultat   
           
    =         null;

       
ResultSetMetaData       
métaOrdre           
=        null;

        

        //chargement du pilote JDBC MySQL

        try

        {

            Class.forName("com.mysql.jdbc.Driver");

        }

        catch (ClassNotFoundException aSQLE)

        {

           
JOptionPane.showMessageDialog    (null, "Impossible de
charger le pilote de la base de données", "Erreur",
JOptionPane.ERROR_MESSAGE);

        }

        

        //connexion à la bdd

        try

        {

            connectMySQL = DriverManager.getConnection (xxxxxxxxxxxxxxxxxxxxxxxx);

        }

        catch (SQLException aSQLE)

        {

           
JOptionPane.showMessageDialog    (null, "Impossible de
se connecter à la base de données\nVeuillez vérifier son état",
"Erreur", JOptionPane.ERROR_MESSAGE);

        }

        

        //création de l'ordre SQL

        try

        {

            ordreMySQL = connectMySQL.createStatement();

        }

        catch (SQLException aSQLE)

        {

           
JOptionPane.showMessageDialog    (null, "Impossible de
créer l'ordre SQL\n" + aSQLE.getMessage (), "Erreur",
JOptionPane.ERROR_MESSAGE);

        }

        

        // Lecture des résultats d'un ordre SQL

        try

        {

            resultat =
ordreMySQL.executeQuery ("select PRODUIT from STOCK group by PRODUIT
order by PRODUIT ");

        }

        catch (SQLException aSQLE)

        {

           
JOptionPane.showMessageDialog    (null, "Echec lors de
l'exécution de l'ordre SQL\n" + aSQLE.getMessage(), "Erreur",
JOptionPane.ERROR_MESSAGE);

        }

        

        // Obtention des résultats

        try

        {

            this.listeProduit.addItem    ("Tout");

            métaOrdre = resultat.getMetaData ();

            while (resultat.next())

            {

           
    this.listeProduit.addItem   
(resultat.getString("PRODUIT"));

            }

        }

        catch (SQLException aSQLE)

        {

           
JOptionPane.showMessageDialog    (null, "Echec lors de
la lecture des résultats\n" + aSQLE.getMessage(), "Erreur",
JOptionPane.ERROR_MESSAGE);

        }

        

        //fermeture de la connexion

        try

        {

            connectMySQL.close ();

        }

        catch (SQLException aSQLE)

        {

           
JOptionPane.showMessageDialog    (null,  "Erreur
lors de la fermeture de la connexion à la base de données\n" +
aSQLE.getMessage(), "Erreur", JOptionPane.ERROR_MESSAGE);

        }

        

        this.listeProduit.repaint();

    }




merci d'avance pour votre aide

don't cross the crocked step

1 réponse

Messages postés
54
Date d'inscription
dimanche 12 septembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

c'est bon j'ai trouvé une autre solution

vu que mes deux panels se trouvaient dans un JTabbedPane, je lance
l'actualisation de ma JComboBox lors d'un clic sur le JTabbedPane en
implémentant MouseListener et le tour est joué.

mais bon le problème reste tout de même bizarre !

don't cross the crocked step