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

JDBC Java Discussion :

Charger une ListBox


Sujet :

JDBC Java

  1. #1
    Membre averti
    Femme Profil pro
    Eclipse
    Inscrit en
    Mars 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Eclipse
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 26
    Par défaut Charger une ListBox
    Bonjour,

    Je cherche à coder une ListBox dans mon interface construite avec Eclipse.
    La ListBox se remplit via une requête SQL à partir de ma base EasyPHP.

    Voilà une partie du code
    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
    import java.sql.*;
    import java.util.ArrayList;
     
    public class Affichage {
     
        public ArrayList listBoxCategorie()
        {
            ArrayList listBoxCategorie = new ArrayList();
            String pilote = "com.mysql.jdbc.Driver";
     
            try
            {
                // Chargement du pilote JDBC
                Class.forName(pilote);
                // Etablir la connexion
                Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/projet","root","");
     
                Statement instruction = connexion.createStatement();
     
                ResultSet resultat = instruction.executeQuery("SELECT * FROM categ_donnees");
     
                while(resultat.next()){
                    listBoxCategorie.add(resultat.getString("Nom_categ"));
                }
                resultat.close();
                instruction.close();
            }
            catch (Exception e){
     
                System.err.println("echec pilote : "+e);
            }
     
            return listBoxCategorie;
        }
    }
    Mon problème est que ce code ne m'affiche rien.

    Quelqu'un saurait-il m'expliquer d'où vient le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    petit test basique à ajouter après la ligne 23 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(resultat.getString("Nom_categ"));
    oui, je sais, c'est bourin mais cela permet déjà de vérifier qu'il y a quelque chose à afficher.

    Ensuite, ton code n'affiche rien du tout.
    Il se contente de remplir un ArrayList.
    Il faudrait aussi poster le code de remplissage de la ListBox.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre averti
    Femme Profil pro
    Eclipse
    Inscrit en
    Mars 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Eclipse
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 26
    Par défaut code de remplissage
    Merci bien pour votre réponse
    le problème est que je n'arrive pas à trouver le code de remplissage de la listbox
    pouvez vous m'aidez??

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Je n'ai pas trouvé listBox dans java.
    est-ce que tu parles d'une JList ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre averti
    Femme Profil pro
    Eclipse
    Inscrit en
    Mars 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Eclipse
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 26
    Par défaut
    mon but est d'afficher le contenu de la table categ_donnees sous forme de liste dans mon interface, je sais pas si JList répond à mon besoin.

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Bon, on suppose que tu as un formulaire
    sur lequel tu as placé un JList appelé monJist

    par ailleurs, tu as rempli listBoxCategorie avec le code que tu as cité.

    Pour injecter les données dans monJist, il faut faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DefaultListModel model = new DefaultListModel();
    for (int i = 0; i < listBoxCategorie.size(); i++) {
         String str = (String) listBoxCategorie.get(i);
         model.add(i,str);        
    }
    monJist.setModel(model);
    Voilà, voilà ....
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  7. #7
    Membre averti
    Femme Profil pro
    Eclipse
    Inscrit en
    Mars 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Eclipse
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 26
    Par défaut
    j'ai essayer votre code mais toujours le problème persiste,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     ArrayList listBoxCategorie = Affichage.listBoxCategorie() ;
     
          DefaultListModel model = new DefaultListModel();
          for (int i = 0; i < listBoxCategorie.size(); i++) {
               String str = (String) listBoxCategorie.get(i);
               model.add(i,str);        
          }
          monJist.setModel(model);
          pan.add(monJist);
    je pense que j'ai un problème au niveau de l'appel de listBoxCatgorie
    ??

  8. #8
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    dans ton code, tu utilise le même nom pour une méthode et une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public ArrayList listBoxCategorie()
        {
            ArrayList listBoxCategorie = new ArrayList();
    Je ne sais pas si c'est cela mais pour plus de clarté, il faudrait écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public ArrayList getListBoxCategorie()
        {
            ArrayList listBoxCategorie = new ArrayList();
    et ensuite dans l'autre partie du programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ArrayList listBoxCategorie = Affichage.getListBoxCategorie() ;
          DefaultListModel model = new DefaultListModel();
          for (int i = 0; i < listBoxCategorie.size(); i++) {
               String str = (String) listBoxCategorie.get(i);
               model.add(i,str);        
          }
          monJist.setModel(model);
          pan.add(monJist);
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  9. #9
    Membre averti
    Femme Profil pro
    Eclipse
    Inscrit en
    Mars 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Eclipse
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 26
    Par défaut
    Merci pour votre aide ça marche.... mais le problème est que JList ne me permet pas de faire une selection parmi la liste, si je voudrais faire une selection mutiple parmi cette liste, que doit etre le type du composant? OU BIEN que doit je ajouter pour pouvoir faire une selection mutilple??

  10. #10
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Ne pas hésiter à regarder dans la doc.
    Il faut utiliser setSelectionMode appliqué au JList (pas au model)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monJist.setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

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

Discussions similaires

  1. charger une listbox a partir d'une autre form
    Par craoh dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/08/2014, 20h59
  2. Réponses: 3
    Dernier message: 30/10/2013, 13h12
  3. [Débutant] Problème de charger des donnes dans une ListBox
    Par pizzaman dans le forum ASP.NET
    Réponses: 1
    Dernier message: 06/05/2013, 22h47
  4. Charger une ListBox au démarrage
    Par developpCathy dans le forum GWT et Vaadin
    Réponses: 4
    Dernier message: 14/09/2011, 09h52
  5. comment charger une listbox via une requete access
    Par sanfour_walhan dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/12/2006, 08h44

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