я пытаюсь переопределить мой метод JComboBox getSelectedItem, используя статический метод:наиважнейшая JComboBox getSelectedItem не работает
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;
}
};
}
Я звоню этот метод из другого кадра:
JComboBoxTools.setupID_TITLE_ComboBox(J_Users_Profile,"profiles");
Но при выполнении его не работают. выхода:
visualItems = [Администратор, Учитель, студент]
IDItems = [0,3,5]
выбранной деталь возвращение значение: Учитель
Не знаю, что делать, я хочу, чтобы он вернул 3, который является идентификатором учителя.
полный проект находится на стадии: this link
спасибо.
Так что же вы на самом деле пытаетесь достичь здесь? Вы просто хотите напечатать выбранное значение? – Thibstars
мои объекты combobox: [SuperAdmin, Student, Teacher], когда элемент выбран, значения возврата, например, (Student) в моей базе данных. У профиля Student есть id, я хочу обработать в backend, используя id, а не название профиль, который является (Student), почему у меня есть 2 arraylist для визуального (frontend) для обработки (я буду генерировать запрос вставки в бэкэнд) –
мой запрос хорошо сформирован и сгенерирован, но я хочу, чтобы идентификатор не был заголовком профиля –