这是我的代码: 在 dao 类中 用于从数据库中读取数据
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);}
因此,我的组合框显示如下内容:model.Animals@5a0ffc79 你能帮我弄清楚缺少什么吗? 提前致谢!
最佳答案
默认情况下,当在 JcomboBox 中使用对象(而不是字符串)时,组合框中显示的值将是对象的 toString()
方法。因此,简单的选择是在您的 Animal
类上实现 toString()
,并显示您想要显示的值。
或者,如果这还不够,您可以使用 cellRenderer。你可以看到this guide供使用
关于java - 如何用数据库数据java和hibernate填充组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58294263/