JAVA: Comment remplir une JComboBox....
Résolu/Fermé
A voir également:
- Jcombobox
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel 5360 ✓ - Forum Jeux vidéo
- Télécharger jeux java gameloft gratuit - Forum Mobile
16 réponses
Une fois connecté à la base de donnés : ces instructions vous permettrons de remplir votre combo
(j'ai essayé et ça a marché)
/*------------------------- Method de remplissage du jComboBox ---------------------------*/
(j'ai essayé et ça a marché)
/*------------------------- Method de remplissage du jComboBox ---------------------------*/
void remplir_Jcomb() { String req= "SELECT Nom_Champ1,Nom_Champ2 FROM Nom_Table ORDER BY Nom_Champ1"; Statement stmt; try { stmt = con.createStatement(); ResultSet res = stmt.executeQuery(req); while(res.next()){ jComboName.addItem(res.getString(indexe de la colonne)); /* le nom du jComboBox est jComboName et <indexe de la colonne > est l'indexe de la colonne dont vous voulez afficher dans le combobox ,elle peut prendre l'une des valeurs 1,2 . . } res.close(); } catch (SQLException e) { e.printStackTrace(); } }//Fin remplir_Jcomb()
ah j'ai trouver mer ci ca marche
le code :
choixfournisseur = new JComboBox ();
choixfournisseur.setMaximumRowCount(5);
choixfournisseur.setBounds (550, 120,150,30);
choixfournisseur.setBackground(Color.WHITE);
cont.add (choixfournisseur);
Vector listenom=AccesBD.creerVecteur1Colonne("SELECT distinct Nom from Fournisseur ");
choixfournisseur.removeAllItems();
for(int i=0;i<listenom.size();i++)
choixfournisseur.addItem((String)(listenom.elementAt(i)));
le code :
choixfournisseur = new JComboBox ();
choixfournisseur.setMaximumRowCount(5);
choixfournisseur.setBounds (550, 120,150,30);
choixfournisseur.setBackground(Color.WHITE);
cont.add (choixfournisseur);
Vector listenom=AccesBD.creerVecteur1Colonne("SELECT distinct Nom from Fournisseur ");
choixfournisseur.removeAllItems();
for(int i=0;i<listenom.size();i++)
choixfournisseur.addItem((String)(listenom.elementAt(i)));
Utilisateur anonyme
3 mars 2005 à 18:42
3 mars 2005 à 18:42
Bonjour,
Si on regarde la documentation de la classe JComboBox, on trouve comme paramètres :
- au niveau du constructeur: rien, un ComboBoxModel, un tableau d'Object ou un Vector;
- au niveau des méthodes : un Object.
cf : http://java.sun.com/j2se/1.5.0/docs/api/
A partir de là, il suffit de récupérer les données de ta table sous une des formes citées plus haut, et d'utiliser soit un des constructeurs, soit la méthode.
Il ya a un excellent tutoriel sur le site de Sun : "How to Use Combo Boxes"
a+
Si on regarde la documentation de la classe JComboBox, on trouve comme paramètres :
- au niveau du constructeur: rien, un ComboBoxModel, un tableau d'Object ou un Vector;
- au niveau des méthodes : un Object.
cf : http://java.sun.com/j2se/1.5.0/docs/api/
A partir de là, il suffit de récupérer les données de ta table sous une des formes citées plus haut, et d'utiliser soit un des constructeurs, soit la méthode.
Il ya a un excellent tutoriel sur le site de Sun : "How to Use Combo Boxes"
a+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
4 mars 2005 à 10:33
4 mars 2005 à 10:33
Donc, tu utilises un objet Recordset?
ps: Je n'ai jamais touché aux JComboBox et je ne me souvenais plus de la syntaxe des requêtes! Vive la java doc et le site de sun
Références:
http://java.sun.com/j2se/1.4.2/docs/api/index.html
http://java.sun.com/docs/books/tutorial/jdbc/basics/retrieving.html
String query = "SELECT COF_NAME, PRICE FROM COFFEES"; ResultSet rs = stmt.executeQuery(query); JComboBox j = new JComboBox(); while (rs.next()) { rs.getString("NomDeLaColonne"); j.addItem(rs.getFloat("PRICE")); }
ps: Je n'ai jamais touché aux JComboBox et je ne me souvenais plus de la syntaxe des requêtes! Vive la java doc et le site de sun
Références:
http://java.sun.com/j2se/1.4.2/docs/api/index.html
http://java.sun.com/docs/books/tutorial/jdbc/basics/retrieving.html
Bonjour,
j'essaie de remplir un jCombox à partir d'une base de donnée (serveur MySQL) mais en affichant l'interface j'ai un boucle infinie je ne peut pas corriger cette erreur
SVP aider moi à résoudre ce problème (je travaille en NetBeans)
voici le code
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package asterisk_teste;
/**
*
* @author
*/
import java.sql.*;
import java.io.*;
import java.util.*;
import java.sql.DriverManager;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultListModel;
import javax.swing.event.ListDataListener;
public class SQLrequete
{ public static Administrateur ad =new Administrateur();
public ResultSet rs1 ;
public SQLrequete() throws SQLException
{
try {
Connection connection;
BaseDeDonnee basededonnee = new BaseDeDonnee ();
rs1=basededonnee.rs;
} catch (ClassNotFoundException ex) {
Logger.getLogger(SQLrequete.class.getName()).log(Level.SEVERE, null, ex);
}
// ad.Terminal.setModel(model);
// ad.setVisible(true);
}
public static void main(String[] args) throws SQLException
{ //SQLrequete teste =new SQLrequete();
try {
//Connection connection;
BaseDeDonnee basededonnee = new BaseDeDonnee ();
// teste.rs1=basededonnee.rs;
// teste.model=basededonnee.getListModelFromResultSet(basededonnee.rs);
} catch (ClassNotFoundException ex) {
Logger.getLogger(SQLrequete.class.getName()).log(Level.SEVERE, null, ex);
}
//teste.ad.Terminal.setModel(model);
// teste.ad.setVisible(true);
}
}
class BaseDeDonnee
{
public Connection connection = null ;
public ResultSet rs ;
public Statement stmt;
public String requete;
public Administrateur ad =new Administrateur();
public DefaultListModel model;
public BaseDeDonnee() throws ClassNotFoundException, SQLException
{ System.out.println("\n+++++++++++++++++++");
connexion();
System.out.println("\n++++++++++++++++++++++");
stmt = connection.createStatement();
requete = "SELECT * FROM terminal ORDER BY Num ASC LIMIT 0 , 30";
System.out.println("\n=======================");
rs=affichage(requete);
this.getModelFromResultSet(affichage(requete));
ad.setVisible(true);
System.out.println("\n====================");
fin_connexion();
}
// Connexion à la base de donnees
public void connexion () throws ClassNotFoundException, SQLException
{
try
{
// Chargement des drivers SQL
System.out.println("\n------------------------");
System.out.println("Connexion au driver JDBC.");
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Driver com.mysql.jdbc.Driver chargé.");
}
catch (ClassNotFoundException a)
{
System.out.println ("Driver non trouve.");
}
catch (Exception b)
{
System.out.println ("Problème sur chargement de driver JDBC.");
}
try
{
// Etablissement de la connexion avec la base
String url1 = "jdbc:mysql://127.0.0.1:3306/Asteriskteste";
connection = DriverManager.getConnection(url1,"root","bandia007");
System.out.println("Connexion a la base établie.");
System.out.println("------------------------\n");
}
catch (SQLException c)
{
System.out.println ("Connexion refuse ou base inconnu.");
}
catch (Exception d)
{
System.out.println ("Problème sur connexion.");
}
}
public ResultSet affichage(String req)
{
// ResultSet rs = null;
int i=1;
try
{
//Exécution des requêtes
//requete = "INSERT INTO `Terminal` ( `Terminal_nom` ) VALUES ( 'EGG' )";
//requete = "SELECT * FROM terminal ORDER BY Num ASC LIMIT 0 , 30";
rs = stmt.executeQuery(requete);
// Statement stmt = connection.createStatement() ;
//String queryString = "INSERT INTO terminal ( Nom ) VALUES ( 'softphone_mouna' )";
// String nom ="401";
// String nom1 ="400";
// String queryString = "select Num from terminal " ;
// String queryString1 =req;
//int update = stmt.executeUpdate(queryString);
//int update1 = stmt.executeUpdate(queryString1);
System.out.println (rs);
while (rs.next())
{
System.out.println("Nom : " +rs.getString(1));
System.out.println("Num : " +rs.getString(2));
System.out.println("State :" +rs.getString(3));
System.out.println(""+i);
i++;
}
}
catch (SQLException d)
{ d.getSQLState();
d.getErrorCode();
System.out.println ("Problème la requete.");
System.out.println ("Problème la requete." +d.getErrorCode()+d.getSQLState());
}
return rs;
}
public void getModelFromResultSet(ResultSet rs) throws SQLException {
ComboBoxModel model = new ComboBoxModel() {
public void setSelectedItem(Object anItem) {
throw new UnsupportedOperationException("Not supported yet.");
}
public Object getSelectedItem() {
throw new UnsupportedOperationException("Not supported yet.");
}
public int getSize() {
throw new UnsupportedOperationException("Not supported yet.");
}
public Object getElementAt(int index) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void addListDataListener(ListDataListener l) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void removeListDataListener(ListDataListener l) {
throw new UnsupportedOperationException("Not supported yet.");
}
};
while (rs.next()) {
rs.getString("NomDeLaColonne");
ad.NumDial.addItem(rs.getString(1));
}
}
public void fin_connexion()
{
try
{
// Fermeture de la connexion
connection.close();
System.out.println("\n------------------------");
System.out.println ("Fermeture de connexion.");
System.out.println("------------------------\n");
}
catch (Exception d)
{
System.out.println ("Problème sur la fermeture de connexion.");
}
}
}
merci d'avance
j'essaie de remplir un jCombox à partir d'une base de donnée (serveur MySQL) mais en affichant l'interface j'ai un boucle infinie je ne peut pas corriger cette erreur
SVP aider moi à résoudre ce problème (je travaille en NetBeans)
voici le code
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package asterisk_teste;
/**
*
* @author
*/
import java.sql.*;
import java.io.*;
import java.util.*;
import java.sql.DriverManager;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultListModel;
import javax.swing.event.ListDataListener;
public class SQLrequete
{ public static Administrateur ad =new Administrateur();
public ResultSet rs1 ;
public SQLrequete() throws SQLException
{
try {
Connection connection;
BaseDeDonnee basededonnee = new BaseDeDonnee ();
rs1=basededonnee.rs;
} catch (ClassNotFoundException ex) {
Logger.getLogger(SQLrequete.class.getName()).log(Level.SEVERE, null, ex);
}
// ad.Terminal.setModel(model);
// ad.setVisible(true);
}
public static void main(String[] args) throws SQLException
{ //SQLrequete teste =new SQLrequete();
try {
//Connection connection;
BaseDeDonnee basededonnee = new BaseDeDonnee ();
// teste.rs1=basededonnee.rs;
// teste.model=basededonnee.getListModelFromResultSet(basededonnee.rs);
} catch (ClassNotFoundException ex) {
Logger.getLogger(SQLrequete.class.getName()).log(Level.SEVERE, null, ex);
}
//teste.ad.Terminal.setModel(model);
// teste.ad.setVisible(true);
}
}
class BaseDeDonnee
{
public Connection connection = null ;
public ResultSet rs ;
public Statement stmt;
public String requete;
public Administrateur ad =new Administrateur();
public DefaultListModel model;
public BaseDeDonnee() throws ClassNotFoundException, SQLException
{ System.out.println("\n+++++++++++++++++++");
connexion();
System.out.println("\n++++++++++++++++++++++");
stmt = connection.createStatement();
requete = "SELECT * FROM terminal ORDER BY Num ASC LIMIT 0 , 30";
System.out.println("\n=======================");
rs=affichage(requete);
this.getModelFromResultSet(affichage(requete));
ad.setVisible(true);
System.out.println("\n====================");
fin_connexion();
}
// Connexion à la base de donnees
public void connexion () throws ClassNotFoundException, SQLException
{
try
{
// Chargement des drivers SQL
System.out.println("\n------------------------");
System.out.println("Connexion au driver JDBC.");
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Driver com.mysql.jdbc.Driver chargé.");
}
catch (ClassNotFoundException a)
{
System.out.println ("Driver non trouve.");
}
catch (Exception b)
{
System.out.println ("Problème sur chargement de driver JDBC.");
}
try
{
// Etablissement de la connexion avec la base
String url1 = "jdbc:mysql://127.0.0.1:3306/Asteriskteste";
connection = DriverManager.getConnection(url1,"root","bandia007");
System.out.println("Connexion a la base établie.");
System.out.println("------------------------\n");
}
catch (SQLException c)
{
System.out.println ("Connexion refuse ou base inconnu.");
}
catch (Exception d)
{
System.out.println ("Problème sur connexion.");
}
}
public ResultSet affichage(String req)
{
// ResultSet rs = null;
int i=1;
try
{
//Exécution des requêtes
//requete = "INSERT INTO `Terminal` ( `Terminal_nom` ) VALUES ( 'EGG' )";
//requete = "SELECT * FROM terminal ORDER BY Num ASC LIMIT 0 , 30";
rs = stmt.executeQuery(requete);
// Statement stmt = connection.createStatement() ;
//String queryString = "INSERT INTO terminal ( Nom ) VALUES ( 'softphone_mouna' )";
// String nom ="401";
// String nom1 ="400";
// String queryString = "select Num from terminal " ;
// String queryString1 =req;
//int update = stmt.executeUpdate(queryString);
//int update1 = stmt.executeUpdate(queryString1);
System.out.println (rs);
while (rs.next())
{
System.out.println("Nom : " +rs.getString(1));
System.out.println("Num : " +rs.getString(2));
System.out.println("State :" +rs.getString(3));
System.out.println(""+i);
i++;
}
}
catch (SQLException d)
{ d.getSQLState();
d.getErrorCode();
System.out.println ("Problème la requete.");
System.out.println ("Problème la requete." +d.getErrorCode()+d.getSQLState());
}
return rs;
}
public void getModelFromResultSet(ResultSet rs) throws SQLException {
ComboBoxModel model = new ComboBoxModel() {
public void setSelectedItem(Object anItem) {
throw new UnsupportedOperationException("Not supported yet.");
}
public Object getSelectedItem() {
throw new UnsupportedOperationException("Not supported yet.");
}
public int getSize() {
throw new UnsupportedOperationException("Not supported yet.");
}
public Object getElementAt(int index) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void addListDataListener(ListDataListener l) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void removeListDataListener(ListDataListener l) {
throw new UnsupportedOperationException("Not supported yet.");
}
};
while (rs.next()) {
rs.getString("NomDeLaColonne");
ad.NumDial.addItem(rs.getString(1));
}
}
public void fin_connexion()
{
try
{
// Fermeture de la connexion
connection.close();
System.out.println("\n------------------------");
System.out.println ("Fermeture de connexion.");
System.out.println("------------------------\n");
}
catch (Exception d)
{
System.out.println ("Problème sur la fermeture de connexion.");
}
}
}
merci d'avance
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
3 mars 2005 à 15:36
3 mars 2005 à 15:36
Bonjour!
quelle table? quelle colonne? d'une base de données? Quelle base de données?
quelle table? quelle colonne? d'une base de données? Quelle base de données?
La table se nomme "Fournisseur", la colonne se nomme "Nom" de la base de donnée "BDStock"
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
4 mars 2005 à 09:39
4 mars 2005 à 09:39
Quel SGBD?
tu as déjà réussi à te connecter à ta base de données? as tu la librairie adéquate?
tu as déjà réussi à te connecter à ta base de données? as tu la librairie adéquate?
oui oui je suis connecté a ma base , je l'ai créée avec access et je code en SQL
c'est juste pour récupérer les valeurs de la colonne pour les mettre dans ma JComboBox
c'est juste pour récupérer les valeurs de la colonne pour les mettre dans ma JComboBox
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
4 mars 2005 à 10:27
4 mars 2005 à 10:27
Es tu connecté à ta base de données avec le java? As tu utilisé le JDBC?
dois je importer une classe pour utiliser un objet de type ResultSet?
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
4 mars 2005 à 11:21
4 mars 2005 à 11:21
Oui, vu que tu vas utiliser un nouvel objet java et que sinon tu ne compileras pas.
Regarde ce lien, tu comprendras tout ce qui touche aux bases de données avec java : http://java.sun.com/docs/books/tutorial/jdbc/basics/retrieving.html
Regarde ce lien, tu comprendras tout ce qui touche aux bases de données avec java : http://java.sun.com/docs/books/tutorial/jdbc/basics/retrieving.html
Quel nul ce maily !
Qu'importe quelle table? quelle colonne? d'une base de données? Quelle base de données?
Connecte-toi a la base de donnee, la table et la colonne que tu veux.
a l'aide d'un PrepareStatment.
Itere sur l'objet ResultSet que tu obtiens et contiens les valeurs de ta colonne.
Rempli un object Vector avec.
Et instancie ta ComboBox. Voila, c'est tout.
Et si tu veux faire pro, utilise Apache common-dbutils (pour l'acces a la BD) et Apache commons-beansutils pour la creation dynamique d'un combo, d'une table ou que sais-je avec , puisque ce dernier permet de creer dynamiquement un bean en prenant comme parametre le resultset.
Qu'importe quelle table? quelle colonne? d'une base de données? Quelle base de données?
Connecte-toi a la base de donnee, la table et la colonne que tu veux.
a l'aide d'un PrepareStatment.
Itere sur l'objet ResultSet que tu obtiens et contiens les valeurs de ta colonne.
Rempli un object Vector avec.
Et instancie ta ComboBox. Voila, c'est tout.
Et si tu veux faire pro, utilise Apache common-dbutils (pour l'acces a la BD) et Apache commons-beansutils pour la creation dynamique d'un combo, d'une table ou que sais-je avec , puisque ce dernier permet de creer dynamiquement un bean en prenant comme parametre le resultset.
lolita_ch
Messages postés
1
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
26 juillet 2007
26 juil. 2007 à 20:18
26 juil. 2007 à 20:18
Bonjour!!
Si quelqu'un a un exemple pr recupérer les element d'une colonne et les mettre d'une base de donnée, qu'il me l'ecrit
j'ai essayé bcp de trucs mais ça ne marche pas
merci d'avance
Si quelqu'un a un exemple pr recupérer les element d'une colonne et les mettre d'une base de donnée, qu'il me l'ecrit
j'ai essayé bcp de trucs mais ça ne marche pas
merci d'avance
yakoviano
Messages postés
9
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
30 juillet 2007
30 juil. 2007 à 23:30
30 juil. 2007 à 23:30
J'ai une lisbox et je veux mettre ses items dans une table Jtable
Bonjour,
Suite à votre discusion concerne le jcomboBox je veux savoir comment remplir un jtable avec une selection d'un element de jcombobox:
je veux explique que j'ai deux table dans la base de donnee Mysql :table forme(Code_f,Nom_f), table Produit(Code_p,Code_f,.......)
le combobox est remplir avec une Nom_f quand je selection le jcomboBox un jtable doit afficher le correspondant de Nom_f
c'est mon probleme j'essai avec AbstractTableModel mais ca marche pas je sais pas comment faire j'ai besoin une idée SVP
Merci Cordialement
Suite à votre discusion concerne le jcomboBox je veux savoir comment remplir un jtable avec une selection d'un element de jcombobox:
je veux explique que j'ai deux table dans la base de donnee Mysql :table forme(Code_f,Nom_f), table Produit(Code_p,Code_f,.......)
le combobox est remplir avec une Nom_f quand je selection le jcomboBox un jtable doit afficher le correspondant de Nom_f
c'est mon probleme j'essai avec AbstractTableModel mais ca marche pas je sais pas comment faire j'ai besoin une idée SVP
Merci Cordialement
Bonjour
je trouve un problem avec l'insruction de Jcombobox et j'ai pas trouve la solution SVP aider moi
le problem et j'ai un JCombobox remplir par les base donne Sql et je veux qaund je choisir une base donne a partir de JCombobox la connection sera change comme truc de annalyseur de requette
Merci
je trouve un problem avec l'insruction de Jcombobox et j'ai pas trouve la solution SVP aider moi
le problem et j'ai un JCombobox remplir par les base donne Sql et je veux qaund je choisir une base donne a partir de JCombobox la connection sera change comme truc de annalyseur de requette
Merci
21 oct. 2017 à 12:32