Nous pouvons récupérer une liste d'objets à partir d'Hibernate. Pour afficher les objets dans JTable, venez d'hériter d'une classe de AbstractTableModel et fournissez les méthodes getRowCount(), getColumnCount() et getValueAt(). Et la méthode getColumnName doit souvent être redéfinie pour afficher le nom de la colonne que vous voulez, et non le formulaire X, Y, Z. Disons que vous avez une table PERSON dans une base de données et la personne de classe persistante correspondante.
Source de PersonTableModel.java:
import org.hibernate.*;
import org.hibernate.cfg.*;
import java.util.*;
import javax.swing.table.AbstractTableModel;
public class PersonTableModel extends AbstractTableModel
{
private static final long serialVersionUID = 6105842825518764825L;
private ArrayList<Person> PersonList;
public PersonTableModel()
{
super();
SessionFactory sf=new Configuration().configure().buildSessionFactory();
Session session=sf.openSession();
Query q=session.createQuery("from Person");
PersonList=new ArrayList<Person>(q.list());
session.close();
sf.close();
}
public int getRowCount()
{
return PersonList.size();
}
public int getColumnCount()
{
return 5;
}
public Object getValueAt(int rowIndex, int columnIndex)
{
Person p=PersonList.get(rowIndex);
Object[] values=new Object[]{p.getId(),p.getFirstname(),p.getLastname(),
p.getAge(),p.getDescription()};
return values[columnIndex];
}
@Override
public String getColumnName(int column)
{
String[] columnNames=new String[]{"id","FirstName","LastName","Age","description"};
return columnNames[column];
}
}
Ensuite, créez un objet PersonTableModel et définissez le modèle du JTable lui
+1, un lien vers un tutoriel ou une méthode spécifique est toujours apprécié. Non seulement il fournit des informations à cette réponse, mais il fournit une ressource pour d'éventuels problèmes futurs. – camickr