1

我正在使用休眠创建一个简单的项目。我知道如何在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值直接调用该方法:) 告诉我我是否做对了。实现所需输出的最佳方法是什么?

4

1 回答 1

3

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

于 2012-09-14T02:06:36.037 回答