Recuperer une valeur d'un Jcombo

massbbc - 21 août 2015 à 16:03
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 - 8 sept. 2015 à 11:50
Bonjour,
Je suis debutant en java et je suis bloqué sur un truc.
J'ai une table pays(Id,libelle) dont jarrive à afficher le libellé dans le Jcombobox.
Mais j'aimerais faire une requête insert into Tbl(nom, prenom, PaysId) value(tnom.getText(), tpre.getText(), tpaysId.getselectedItem())

jaimerais inserer le code du pays et non le libellé.
Merci d'avance pour votre aide.

3 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
24 août 2015 à 11:36
Salut,

C'est ça que tu veux faire ?

Le modele Country.java:
public class Country {

  private String code;
  private String name;

  public Country(final String code, final String name) {
    this.code = code;
    this.name = name;
  }

  public String getCode() {
    return code;
  }

  public void setCode(final String code) {
    this.code = code;
  }

  public String getName() {
    return name;
  }

  public void setName(final String name) {
    this.name = name;
  }

  @Override
  public String toString() {
    return name;
  }
}



Le code test avec le combo Test.java:

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;


public class Test extends JFrame {

  public Test() {
    setSize(300, 300);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    getContentPane().setLayout(new FlowLayout());
    
    /* ajout de quelques pays au model du combo */
    DefaultComboBoxModel<Country> model = new DefaultComboBoxModel<Country>();
    model.addElement(new Country("FR", "France"));
    model.addElement(new Country("US", "USA"));
    /* création du combo avec son model */
    final JComboBox<Country> countries = new JComboBox<Country>(model);
    /* action sur sélection d'un item */
    countries.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        Country c = (Country)countries.getSelectedItem();
        String str ="<html>Country name: " + c.getName() + "<br>Country code: " + c.getCode() + "</html>";
        JOptionPane.showMessageDialog(Test.this, str);
      }
    });
    
    add(countries);
  }
  
  public static void main(String[] args) {
    new Test().setVisible(true);
  }
  
}


0
Merci pour votre reponse. Je pense que cela pourait résoudre mon problème.
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
8 sept. 2015 à 11:50
J'ai fais un test et c'est a peut près ce que je veux. Par contre je recuperer les valeur d'une table sql

Rs2 =St3.executeQuery("SELECT Code_Type, Libelle_Type FROM Type " );
Cbx_Typ.addItem("");
while(Rs2.next()){
Cbx_Typ.addItem(Rs2.getString(1).trim());
Cbx_Typ.addItem(Rs2.getString(2).trim());
}

Ensuite je fais un insert et je veux recuperer cette valeur (Cbx_Typ.addItem(Rs2.getString(1).trim()); )
 St2.executeUpdate("INSERT INTO Bande(Num_Bande ,Date_Enreg ,Nbre_sujet ,Type )VALUES ('"+NumBd.getText().trim()+"',GETDATE(),'"+TxtSujet.getText().trim()+"','"+Cbx_Typ.getSelectedItem()+"' ) "); 



--
0
Rejoignez-nous