Comment alimenter une jComboBox dynamiquement à partir d'un ordre sql ? [Résolu]

jojo6666 10 Messages postés mardi 13 juillet 2004Date d'inscription 17 janvier 2005 Dernière intervention - 19 août 2004 à 16:46 - Dernière réponse : WinLin 86 Messages postés dimanche 13 février 2005Date d'inscription 3 septembre 2007 Dernière intervention
- 3 janv. 2007 à 03:47
Bonjour,

J'essaie depuis un certain temps (j'hésite à dire plusieurs jours) d'alimenter une jComboBox de façon dynamique.

Je m'explique : Je veux alimenter cette combo au déclenchement d'un certain évènement. J'ai donc créé un MouseListener à cet effet. Seulement, lorsque l'évènement voulu survient, aucun traitement ne se fait.

Je me demande donc si l'évènement est adéquate, sachant que j'en ai déjà essayé plusieurs.

Voici le code qui devrait alimenter cette combo :

private JComboBox getJComboBox1() throws SQLException {
if (jComboBox1 == null) {
string2 = new Vector();
jComboBox1 = new JComboBox();
jComboBox1.setBounds(126, 6, 172, 30);
jComboBox1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent e) {
string3.clear();
jComboBox2.removeAllItems();
try {
sqlrs = (String) (string2.elementAt((getJComboBox1().getSelectedIndex())));result2 requete.executeQuery("select idsession, debutsession, finsession from session where idstage " + sqlrs);
while (result2.next()){
String mem = (String) (result2.getString("idsession"));
string3.addElement(mem);
String debut = result2.getString("debutsession");
String fin = result2.getString("finsession");
String datedebut = debut.substring(8,10)+ "/" + debut.substring(5,7) + "/" + debut.substring(0,4);
String datefin = fin.substring(8,10)+ "/" + fin.substring(5,7) + "/" + fin.substring(0,4);
jComboBox2.addItem(datedebut + " au " + datefin);
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
});
ResultSet result1 = requete.executeQuery("select idstage, libstage from stage");
while (result1.next()){
String mem = (String) (result1.getString("idstage"));
string2.addElement(mem);
jComboBox1.addItem(result1.getString("libstage"));
}
}
return jComboBox1;
}

J'ai débogué mais à aucun moment, le traitement ne se fait.

Si vous avez des idées... Merci d'avance.
Afficher la suite 

3 réponses

Répondre au sujet
cs_GodConan 2116 Messages postés samedi 8 novembre 2003Date d'inscriptionContributeurStatut 6 octobre 2012 Dernière intervention - 19 août 2004 à 18:41
+3
Utile
GodConan :clown)

je ne pense pas que tu ai vraiment besoin d un MouseAdapter

a mon avis un ActionListener cerrai + approprier ... si c bien quand tu selectionne une valleur que tu veu changer les donnee ...

++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_GodConan
WinLin 86 Messages postés dimanche 13 février 2005Date d'inscription 3 septembre 2007 Dernière intervention - 3 janv. 2007 à 03:47
0
Utile
pour moi la méthode ici fonctione tres bien

public Vector LISTPAYSALIMCOMBO() {Connection connection;

Statement statement;

ResultSet resultSet;

String[] maListString;

Vector items =

new Vector();

try {Class. forName (

pilote);System.

out.println(
"Inert des données");connection = DriverManager.getConnection(

hosting,
login,
password);Statement stmt = connection.createStatement();

ResultSet rs = stmt.executeQuery(

"select id,pays from pays");

while (rs.next()) {items.addElement(rs.getString(2));

}

System.

out .println(
"Inert des données Réussies");

}

catch (ClassNotFoundException ex) {System.

err.println(
"Cannot find the database driver classes.");System.

err.println(ex);}

catch (SQLException ex) {System.

err.println(
"Cannot connect to this database.");System.

err.println(ex);}

parentsql.
comboBox =
new JComboBox(items);System.

out.println(
"LISTCLISHORT : execute la query NON REQUESTEURSQL");System.

out.println(
"bouton ok rentre dans la methode de class");

//parentsql.frame.getContentPane().add(parentsql.comboBox, parentsql.gridBagConstraints_14);

return items;}

et quand je crée ma combobox

et la place dans mes fenetre

comboBox

=
new JComboBox(requet.LISTPAYSALIMCOMBO());

final GridBagConstraints gridBagConstraints_14 =
new GridBagConstraints();gridBagConstraints_14.

gridwidth = 2;gridBagConstraints_14.

ipadx = 95;gridBagConstraints_14.

gridy = 7;gridBagConstraints_14.

gridx = 3;

frame.getContentPane().add(
comboBox, gridBagConstraints_14);

et voila j'ai ma combo avec toutes la liste des pays pour mon formulaire en java.
Commenter la réponse de WinLin
WinLin 86 Messages postés dimanche 13 février 2005Date d'inscription 3 septembre 2007 Dernière intervention - 3 janv. 2007 à 03:47
0
Utile
pour moi la méthode ici fonctione tres bien

public Vector LISTPAYSALIMCOMBO() {Connection connection;

Statement statement;

ResultSet resultSet;

String[] maListString;

Vector items =

new Vector();

try {Class. forName (

pilote);System.

out.println(
"Inert des données");connection = DriverManager.getConnection(

hosting,
login,
password);Statement stmt = connection.createStatement();

ResultSet rs = stmt.executeQuery(

"select id,pays from pays");

while (rs.next()) {items.addElement(rs.getString(2));

}

System.

out .println(
"Inert des données Réussies");

}

catch (ClassNotFoundException ex) {System.

err.println(
"Cannot find the database driver classes.");System.

err.println(ex);}

catch (SQLException ex) {System.

err.println(
"Cannot connect to this database.");System.

err.println(ex);}

parentsql.
comboBox =
new JComboBox(items);System.

out.println(
"LISTCLISHORT : execute la query NON REQUESTEURSQL");System.

out.println(
"bouton ok rentre dans la methode de class");

//parentsql.frame.getContentPane().add(parentsql.comboBox, parentsql.gridBagConstraints_14);

return items;}

et quand je crée ma combobox

et la place dans mes fenetre

comboBox

=
new JComboBox(requet.LISTPAYSALIMCOMBO());

final GridBagConstraints gridBagConstraints_14 =
new GridBagConstraints();gridBagConstraints_14.

gridwidth = 2;gridBagConstraints_14.

ipadx = 95;gridBagConstraints_14.

gridy = 7;gridBagConstraints_14.

gridx = 3;

frame.getContentPane().add(
comboBox, gridBagConstraints_14);

et voila j'ai ma combo avec toutes la liste des pays pour mon formulaire en java.
Commenter la réponse de WinLin

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.