【发布时间】:2018-05-16 05:32:45
【问题描述】:
我正在开发一个基于 maven 的 Java 桌面应用程序,并且我正在使用 jSwing 框架作为界面。我需要在组合框中向人们显示任务和他们的名字,但我不确定我是否做得很好。
在此代码部分中,我从数据库中以列表的形式获取 Tasks,然后在组合框中显示它们。
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);
}
没关系,我可以在组合框中看到任务名称。
问题是;我想使用该任务将其他信息保存到数据库中。但如您所见,选择的东西(在组合框中)只是任务名称,而不是任务对象。
如何将任务对象放在组合框选项部分?
在这段代码中,我曾经尝试从数据库中获取任务对象并在组合框部分显示它们,但组合框部分都显示相同的任务名称。
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);
}
}
感谢您的帮助,最好的问候。
【问题讨论】:
标签: java swing button combobox