如何用数据库数据java和hibernate填充组合框

时间:2019-10-08 21:22:33

标签: java mysql hibernate

这是我的代码: 道课 从数据库读取数据

    public static List<Animals> read() {
    List<Animal> a = new ArrayList<Animal>();
    Transaction tran = null;
    Session session = NewHibernateUtil.getSessionFactory().openSession();
    try {
        tran = session.beginTransaction();
        a = session.createQuery("from Animal").list();
    } catch (RuntimeException e) {
        e.printStackTrace();
    } finally {
        session.flush();
        session.close();
    }
    return a;
}

和jframe:

List<Animal> animals = AnimalDao.read();

public void addCombo(){
for(Animal a : animals){ combo.addItem(a);}

结果,我的comboBox显示如下内容:model.Animals@5a0ffc79 您能帮我弄清楚丢失了什么吗? 预先感谢!

1 个答案:

答案 0 :(得分:1)

默认情况下,在JcomboBox中使用对象(而不是字符串)时,组合框中显示的值将是对象的toString()方法。因此,简单的选择是使用您要显示的值在toString()类上实现Animal

或者,如果这还不够,可以使用cellRenderer。您可以看到this guide的使用情况