Publié le 28/08/2010
Auteur axel
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Remplir un JComboBox a partir d'une base de donnee

A partir d'une requęte dans une base de donnée, voici un exemple pour remplir une JComboBox. En effet, bien souvent la liste contient des valeurs que l'utilisateur de l'application doit sélectionner. Le passage d'une serie de donnée stockée dans une base de donnée à un composant graphique tel qu'un jComboBox est assez rapide à faire.

Insérer des elements dans un JComboBox

Explications pour le script:
- maTable est une table MySQL avec un champ nom et un champ prenom,
- jcombobox est un JComboBox posé sur un JFrame par exemple
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
 
/**
 * Remplir un JComboBox à partir d'une base de donnée
 * http://www.fobec.com/java/981/remplir-jcombobox-partir-une-base-donnee.html
 * Axel 2010
 */
public class FromDataBase {
 
    /**
     * Exemple sur jcombobox est un JComboBox ajouté sur un jFrame
     * @param args 
     */
    public static void main(String[] args) {
        Connection dbConnect = null;
        Statement dbStatement = null;
        String SQL = "SELECT nom, prenom FROM maTable";
        try {
            //Supprimer les elements
            jcombobox.removeAllItems();
            //Sélectionner dans la DB
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            dbConnect = DriverManager.getConnection("jdbc:mysql:URL", "user", "password");
            dbStatement = dbConnect.createStatement();
            ResultSet res = dbStatement.executeQuery(SQL);
            //Ajouter les elements 1 a 1
            while (res.next()) {
                jcombobox.addItem(res.getString(0) + " " + res.getString(1));
            }
            res.close();
            dbConnect.close();
        } catch (InstantiationException ex) {
            Logger.getLogger(FromDataBase.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(FromDataBase.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(FromDataBase.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(FromDataBase.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

Si l'on souhaite enregistrer la valeur sélectionnée dans le JComboBox, il est possible d’utiliser une ArrayList pour stocker l'id correspondant de la base de données.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
28/08/2010
Visualisation
vu 6168 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par nico dans java

Petite erreur constate.
Apparemment il faut remplacer :
&mailTo = &?body=Envoyer un email avec Java
par &mailTo = < et commercial sans '<' et '>' &body=Envoyer un email avec Java

Publié par coramarr dans java

Peut-on trouver des infos sur cette suite qui serait utilise en statistiques. Des documents ou ouvrages qui relatent les divers possibilites d'utilisation de cette suite.
Je suis un particulier ni...

Publié par PizzaToy dans php5

Salut,
super Class mais elle a fait son temps. Il faut maintenant passer la version 1.1 de l'API Twitter search et son authentification !

Publié par hako dans CMS

merci bien mon ami dd

Publié par Anis Hidouri dans java

Très bon exemple même si le drivers jdbc comporte quelques erreurs !!!