Pessoal queria ajuda no seguinte.
Sei que não é muito indicado usar a DefaultTableModel mas estou aprendendo e quero pegar desde essa parte até que eu entenda e consiga implementar as interfaces ou classes abstratas.
O que está acontecendo é o seguinte, estou fazendo umas busca no banco e pululando um vetor, depois quero varrer esse vetor e jogar pra minha tabela. Porém só consigo visualizar esses dados se antes eu iniciar a jtable com dados quaisquer nas linhas, não sei como inicia-la já com os dados vindos da base.
private void carregarTabela() {
String sql = "select * from pessoa";
c = DBConnection.getConnection();
Vector<Vector> vetor = new Vector<>();
try {
ps = c.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
Vector<Object> linha = new Vector<>();
linha.add(rs.getInt("id"));
linha.add(rs.getString("nome"));
vetor.add(linha);
}
String[] col = {"ID","NOME"};
String [][] row = {
null, null
};
DefaultTableModel d = new DefaultTableModel(row,col);
tabela.setModel(d);
DefaultTableModel dtm = (DefaultTableModel) tabela.getModel();
for (int i = 0; i < vetor.size(); i++) {
dtm.addRow(vetor.get(i));
}
scroll.setViewportView(tabela);
this.add(scroll);
} catch (Exception e) {
e.printStackTrace();
}
}
Se eu comentar essa parte
não aparece nada. Fico pensando o seguinte, li que quando agente não define nada no construtor de uma jtable ele por default cria um DefaultTableModel padrão, então era pra ja funcionar o getModel.
Agradeço a ajuda.