Fala ai gente, tenho o seguinte problema:
Criei um table model e um método que retorna uma lista para popular meu JTable com dados do banco, porém os dados não estão sendo exibidos no JTable
somente as linhas, segui as classes.
Table model
package view;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import entity.Contato;
public class ModeleDeTabela extends AbstractTableModel{
private String [] colunas= {"Nome","Sobre Nome","Tipo","Sexo"};
private List<Contato>linhas;
public ModeleDeTabela() {
linhas = new ArrayList<Contato>();
}
public ModeleDeTabela(List<Contato> contato) {
linhas = new ArrayList<Contato>(contato);
}
public int getColumnCount() {
return colunas.length;
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return true;
}
public String getColumnName(int indexColuna){
return colunas[indexColuna];
}
public Class<?> getColumnClass(int columnIndex) {
//Qual a classe das nossas colunas? Como estamos exibindo texto, é string.
return String.class;
}
public void addLinhas(Contato c){
linhas.add(c);
}
@Override
public int getRowCount() {
return linhas.size();
}
@Override
public Object getValueAt(int Indexlinhas, int IndexColuna) {
Contato c = new Contato();
linhas.get(Indexlinhas);
Object linhasOB = null;
switch(IndexColuna){
case 0: linhasOB = c.getNome();
break;
case 1: linhasOB = c.getSobrenome();
break;
case 2: linhasOB = c.getTipo();
break;
case 3: linhasOB = c.getSexo();
}
return linhasOB;
}
}
método que retorna a lista
public List<Contato> buscarContato( ) throws Exception{
Conexao conexao = new Conexao();
conexao.abrirConexao();
String sql = "select*from contatos " ;
PreparedStatement pstm = conexao.con.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
List<Contato> lista = new ArrayList<Contato>();
while(rs.next()){
Contato c = new Contato();
c.setNome(rs.getString("nome"));
c.setSobrenome(rs.getString("sobrenome"));
c.setTipo(rs.getString("tipo"));
c.setSexo(rs.getString("sexo"));
lista.add(c);
}
conexao.fecharConexao();
return lista;
}
tabela no JFrame
table = new JTable();
ContatoDAO dao = new ContatoDAO();
try {
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
ModeleDeTabela minha = new ModeleDeTabela(dao.buscarContato());
table.setModel(minha);
scrollPane.setViewportView(table);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ajuda ai gente