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 7918 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par options binaires dans php5

genial l'outil ! merci

Publié par Michael dans tuto

Merci pour ce partage, ca m'a ete tres utile pour une application hta que j'ai developper pour mon travail.
Peut etre modifier le script afin de creer des graphiques differentes (en forma...

Publié par IB dans tuto

Merci ca marche bien.

Publié par Mosard dans java

Bonsoir je voulais inclure un fichier txt dans mon programme cependant j'avais pas vraiment d'idee,mais j 'ai deja une idee je vais essayer. Merci beaucoup

Publié par taje dans CMS

je suis débutant et je veut participer et évoluer