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

Publié par Fobec dans logiciel

prise en charge du format ipV6. L'api est compatible avec tous les ip qu'elles soient au format ipV4 ou ipV6.

Publié par stux dans java

Génial.. C'est exactement ce que je cherchais.

Publié par Roy2014 dans tuto

Bonjour et merci pour ce tuto interessant. Je pense que tout le monde souffre avec 1and1 du fait que l'on puisse pas gziper directement via le htaccess!!
j'aurais une petite question:
tu dis a p...

Publié par Adresse IP dans news

Je cherche un moyen pour afficher une correspondance entre adresse IPv4 et adresse IPv6 sans possibilite d'installer le protocole ipv6. Comment faire J'ai vu qu'il existait des possibilites de faire...

Publié par Patrice dans CMS

Concernant la commande ShellExecute :

Si vous voulez lancer un programme dont le nom est contenu dans une propriété text,
caption, items bref d\'un string ... n'oubliez pas de transfor...