Je suis en train de passer outre ma méthode JComboBox getSelectedItem en utilisant cette méthode statique:primordial JComboBox getSelectedItem ne fonctionne pas
public static void setupID_TITLE_ComboBox(JComboBox jComboBox, String tableName) throws SQLException {
// query to select ID and TITLE from profiles table
String query = "SELECT ID,TITRE FROM " + tableName + ";";
ResultSet myJComboResultSet = SQLTools.ExecuteQuery(query);
ArrayList visualItems = new ArrayList(); // the Items of my combobox [item1,item2]
ArrayList idItems = new ArrayList(); // the corresponding IDs for each item [id1,id2]
while (myJComboResultSet.next()) {
visualItems.add(myJComboResultSet.getObject("TITRE")); // filling items set
idItems.add(myJComboResultSet.getObject("ID")); // filling IDs set
}
System.out.println("IDItems=" + idItems); // checking that my Items are filled
System.out.println("visualItems=" + visualItems); // checking that my IDs are filled
// creating a combobox of previous items
jComboBox = new JComboBox(visualItems.toArray()) {
ArrayList values = idItems;
// overriding the getSelectedItem to return the corresponding selected item's ID
@Override
public Object getSelectedItem() {
Object get = values.get(super.getSelectedIndex());
System.out.println("get = " + get);
return get;
}
};
}
Je suis d'appeler cette méthode à partir d'un autre cadre:
JComboBoxTools.setupID_TITLE_ComboBox(J_Users_Profile,"profiles");
Mais lorsqu'il est exécuté, il ne fonctionne pas. la sortie:
visualItems = [Admin, professeur, étudiant]
IDItems = [0,3,5]
la valeur de retour de l'article sélectionné est: Maître
Je ne sais pas quoi faire Je veux qu'il revienne 3 qui est l'ID de l'enseignant.
l'ensemble du projet est sous: this link
merci.
Alors, qu'essayez-vous d'accomplir ici? Vous voulez juste imprimer la valeur sélectionnée? – Thibstars
mes éléments de liste déroulante sont [SuperAdmin, Étudiant, Enseignant] lorsqu'un élément est sélectionné les valeurs de retour est par exemple (Étudiant) dans ma base de données Profil étudiant avoir un ID, je veux traiter en backend en utilisant l'ID pas la valeur du titre profil qui est (étudiant) pourquoi j'ai 2 arraylist un pour visuel (frontend) un pour le traitement (je vais générer une requête d'insertion dans le backend) –
ma requête est bien formulée et générée mais je veux l'id pas le titre de profil –