我正在使用hibernate创建一个简单的项目。我知道如何在JTable
以及JList
上显示记录,但我不知道如何显示JComboBox
的记录。无论如何这里是我的代码并指导我向JComboBox
显示数据库记录?
我没有任何错误或其他任何错误,但它只显示一条记录,这是我知道它在循环中的最后一条记录,但仍然无法弄清楚如何显示所有记录。所以这是我的代码。
变量:
private Object[] loadName;
加载和检索数据的方法:
public Object[] LoadSupplier(){
b = a.openSession();
b.beginTransaction();
Query query = b.createQuery("FROM Supplier");
@SuppressWarnings("unchecked")
ArrayList<Supplier> load = (ArrayList<Supplier>) query.list();
b.getTransaction().commit();
b.close();
for(Supplier supply : load){
loadName = new Object[]{supply.getSupplierName()};
}
return loadName;
}
并将其显示在数据库中:
comboCategory = new JComboBox(LoadSupplier());
我所做的是将该方法直接调用为JComboBox
值:)
告诉我,如果我做得对。实现所需输出的最佳方法是什么?
答案 0 :(得分:3)
每次for循环迭代时,你重新分配 loadName变量,所以你不应该对以前的数据都没有保存感到惊讶。为什么不在 for循环之前创建一个DefaultComboBoxModel<E>
对象,然后在每次迭代时添加到循环内部的模型中?