这是我的代码: 道课 从数据库读取数据
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 您能帮我弄清楚丢失了什么吗? 预先感谢!
答案 0 :(得分:1)
默认情况下,在JcomboBox中使用对象(而不是字符串)时,组合框中显示的值将是对象的toString()
方法。因此,简单的选择是使用您要显示的值在toString()
类上实现Animal
。
或者,如果这还不够,可以使用cellRenderer。您可以看到this guide的使用情况