有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate显示来自JComboBox的记录

我正在使用hibernate创建一个简单的项目。我知道如何显示JTableJList上的记录,但我不知道如何显示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) 个答案

  1. # 1 楼答案

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