Besoin d'aide sur JComboBox

ingtechnologie - 28 juin 2013 à 10:38
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 - 3 juil. 2013 à 14:04
bonjour j'ai un probleme au niveau de Jcombox voicie ,j'arrive a me conecter avec ma Base Donnee Oracle 9I et j'affiche aussi les donnee sur mon JCombox mon probleme setrouve au nivaux d'affectation.
je m'explique: je veux quand je selectionne il m'affiche et puis il affecter juste le code du libele selectionné sur une autre jTextField2.
voicie mon conde

try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
cnx = DriverManager.getConnection("Jdbc:Odbc:ConexionRecad","Ing","passw0rd");
St = cnx.createStatement();
Rs = St.executeQuery("select * from departement");
// Rs St.executeQuery("select * from departement set where cod_dep jComboBox1.getText()");

while(Rs.next()){

// txtcod_dep1.setText(jComboBox1.getSelectedItem()+"cod_dep");
String cod_dep =Rs.getString("cod_dep");
String lib_dep =Rs.getString("lib_dep");

jComboBox1.addItem(cod_dep + lib_dep);
//CmbTeste.addItem(cod_dep);

//(jComboBox1.getSelectedItem() .toString());
//jComboBox1.addItem(lib_dep);
// jComboBox1.addItem(lib_dep);
// txtcod_dep.setText(dt.getValueAt(i, 0).toString());// I represente le Numero de la ligne, et 0 1 .. Colonne
//txtAbre_dep.setText(dt.getValueAt(i, 1).toString());
//txtlibele_dep.setText(Rs.getString("lib_dep");

}

}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}

}

1 réponse

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
3 juil. 2013 à 14:04
Salut,

Tu as plusieurs possibilités:

soit parser le texte sélectionné dans la combo, un truc du style:
String text = jComboBox1.getSelectedItem().toString();
//Imaginons que text contienne "001_beer"
String[] data = text.split("_");
for(String s : data)
{
   System.out.println(s);
}

cela affichera en console:
001
beer


Autre solution, tu crée une classe Produit qui aura entre autre les variables code et libellé.
avec ton ResultSet, tu en crées des instances que tu ajoutes à jComboBox1.
Le rendu dans la comboBox est prix par défaut par la méthode toString() de l'objet contenu (autrement dis, tu réimplémentes la méthode dans la classe Produit)

ensuite c'est assez simple:
Produit p = (Produit)jComboBox1.getSelectedItem();
//et pour récupérer le code :
p.getCode(); 


maintenant pour savoir quand la sélection dans la combobox change, renseigne toi sur les ItemListener

je pense que cela devrait pas mal t'aider ;-)
0
Rejoignez-nous