sexta-feira, 8 de agosto de 2008

Método genérico para popular um jTable direto da lista que vem do JPA

Buenas,,
É um exemplo de um método genérico pra popular um jTable a partir dos dados que vem do JPA (List através de uma query do EntityManager). Este método utiliza o net.sf.jga.swing.GenericTableModel para auxiliar na conversão. Att,


package util;

import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.util.List;
import net.sf.jga.swing.GenericTableModel;

/**
*
* @author esr
*/
public class DataModel {
static public GenericTableModel getTableModel(List l) throws IntrospectionException {
GenericTableModel model = null;
if (l.size() > 0) {
Class c = l.get(0).getClass();
model = new GenericTableModel(c, l);
for (PropertyDescriptor p : java.beans.Introspector.getBeanInfo(c, Object.class).getPropertyDescriptors()) {
String s = p.getName();
s = s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase();
model.addColumn(p.getPropertyType(), s);
}
}
return model;
}
}


--------------------
exemplo de chamada:

jTable1.setModel(util.DataModel.getTableModel(lista));