Hibernate显示来自JComboBox的记录

时间:2012-09-14 02:03:41

标签: java hibernate swing jtable jcombobox

我正在使用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值:) 告诉我,如果我做得对。实现所需输出的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

每次for循环迭代时,你重新分配 loadName变量,所以你不应该对以前的数据都没有保存感到惊讶。为什么不在 for循环之前创建一个DefaultComboBoxModel<E>对象,然后在每次迭代时添加到循环内部的模型中?