Я работаю над настольным Java-приложением на основе maven и использую фреймы jSwing для интерфейса. Мне нужно показать людям Задачи с их именами в выпадающем списке, но я не уверен, что я сделал это хорошо.
В этом разделе кода я получил Задачи из своей базы данных в виде списков, затем я показал их в выпадающем списке.
List<TmsTask> task;
int i;
try {
task = Application.getApp().getMainService().getTasksList();
for (i = 0; i <= task.size(); i++) {
jComboBoxTask.setModel(new javax.swing.DefaultComboBoxModel<>(new String[]{task.get(i).getTaskName(),
task.get(i + 1).getTaskName(),
task.get(i + 2).getTaskName()}));
}
} catch (Exception ex) {
Logger.getLogger(BindTask.class.getName()).log(Level.SEVERE, null, ex);
}
Это хорошо, я вижу Задание имена в выпадающем списке.
Проблема в том, Я хочу сохранить другую информацию в базу данных, используя эту задачу. Но, как видите, выбранные вещи (в выпадающем списке) просто имена задач, а не объекты задач.
Как разместить объекты задач в разделах опций в выпадающем списке?
В этом разделе кода я пытался извлечь объекты Task из базы данных и показать их в секциях combobox, но во всех секциях combobox отображается одно и то же имя задачи.
private void jComboBoxTaskMousePressed(java.awt.event.MouseEvent evt) {
TmsTask task;
try {
task = Application.getApp().getMainService().getTasks();
jComboBoxTask.setModel(new javax.swing.DefaultComboBoxModel<>(new String[]{task.getTaskName(),
task.getTaskName(),
task.getTaskName()}));
} catch (Exception ex) {
Logger.getLogger(BindTask.class.getName()).log(Level.SEVERE, null, ex);
}
}
Спасибо за помощь, с наилучшими пожеланиями.