Para vc alimentar uma JTable com dados provenientes do banco de dados vc precisa seguir esses passos:
A JTable trabalha com MVC então precisa de um Modelo que seria AbstractModel na qual vc define o modelo da sua JTable a View que irá apresentar a JTable e Controller responsavel em buscar os dados e controlar JTable para View
:arrow: Crie uma Classe que herde AbstractTableModel
essa classe vc irá implementar metodos do tipo pegar o conteudo da JTable , o tamanho da JTable
Segue um exemplo:
import java.util.List;
import javax.swing.table.AbstractTableModel;
public class MyTableModel extends AbstractTableModel
{
private String [] colunas;
private List linhas;
public MyTableModel (String[] colunas , List linhas)
{
this.colunas = colunas;
this.linhas = linhas;
}
public int getRowCount()
{
return linhas.size();
}
public int getColumnCount()
{
return colunas.length;
}
public String getColumnName(int col)
{
return colunas[col];
}
public Object getValueAt(int lin, int col)
{
try
{
Object dadosM[] = (Object[])linhas.get(lin);
return dadosM[col];
} catch(Exception ex)
{
ex.printStackTrace();
}
return null;
}
public boolean isCellEditable(int lin , int col)
{
return false;
}
}
:arrow: Agora na sua classe DAO vc precisa instanciar esse Modelo de JTable passando as colunas e um Array dos dados esse array de Dados precisa ser do tipo Object prq os valores do JTable são do tipo Object
public List mostrarLista()
{
List linhas; // array de Dados
PreparedStatement pstmt;
try
{
pstmt = dbCon.prepareStatement("SELECT * FROM ");
pstmt.clearParameters();
ResultSet rs = pstmt.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int numCols = rsmd.getColumnCount();
linhas = new ArrayList();
while (rs.next())
{
Object l[] = new Object[numCols];
for (int i =0; i < numCols; i++)
l[i] = rs.getObject(i+1);
linhas.add(l);
}
return linhas;
} catch (SQLException e)
{
return null;
e.printStackTrace();
}
}
:arrow: Na Controller vc precisa criar o Modelo e alimenta-la
Vamos supor que minha classe DAO é responsavel em buscar os dados do banco de dados
DAO dao = new DAO();
List lista = dao.mostrarLista();
String [] colunas = {"Coluna A ","Coluna B"};
MyTableModel m = new MyTableModel( colunas , lista );
// Agora envie esse Modelo para View
:arrow: Na sua View vc precisa passar para construtor da JTable o modelo da sua JTable
//
AbstractModel
JTable table = new JTable(controller.devolveModeloJTable());
Mais sobre JTable:
Parte 1 http://www.guj.com.br/java.tutorial.artigo.140.1.guj
Parte 2 http://www.guj.com.br/java.tutorial.artigo.147.1.guj