Boa noite galera,
estou implementando um Table usando AbstractTableModel, até então tudo ok. Ele está abrindo normal.
No entanto não estou conseguindo pegar os dados da tabela do banco de dados e adicionar no TABLE.
Minha Classe clienteDao*
public ArrayList buscarClientes(){
String sql = "select * from cliente";
Statement stm = null;
ResultSet rs = null;
cliente c = new cliente();
try {
stm = con.createStatement();
rs = stm.executeQuery(sql);
while (rs.next())
{
c.setIdCliente(rs.getInt("idCliente"));
c.setNome(rs.getString("nome"));
c.setSobrenome(rs.getString("sobrenome"));
c.setCnpjCpf(rs.getString("cnpjCpf"));
c.setnInsEst(rs.getString("nInsEst"));
c.setnFazenda(rs.getString("nFazenda"));
c.setEndereco(rs.getString("endereco"));
c.setTelefone(rs.getString("telefone"));
listClient.add(c);
}
con.close();
} catch (Exception e) {
}
return listClient;
}
` private ArrayList<cliente> listClient;
Minha classe que Herda o AbstractTableModel:
public class tmCliente extends AbstractTableModel{
private ArrayList<cliente> listCliente;
private String[] colunas = {"Nome","Sobrenome","CNPJ/CPF","Insc Estadual","Fazenda","Endereço","Telefone"};
@Override
public String getColumnName(int column) {
return colunas[column]; //To change body of generated methods, choose Tools | Templates.
}
public tmCliente() {
listCliente = new ArrayList<>();
}
public void addCliente(ArrayList c){
this.listCliente.addAll(c);
fireTableDataChanged();
}
public cliente getCliente(int rowIndex){
return listCliente.get(rowIndex);
}
@Override
public int getRowCount() {
return listCliente.size();
}
@Override
public int getColumnCount() {
return colunas.length;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
switch (columnIndex){
case 0:
return listCliente.get(rowIndex).getNome();
case 1:
return listCliente.get(rowIndex).getSobrenome();
case 2:
return listCliente.get(rowIndex).getCnpjCpf();
case 3:
return listCliente.get(rowIndex).getnInsEst();
case 4:
return listCliente.get(rowIndex).getnFazenda();
case 5:
return listCliente.get(rowIndex).getEndereco();
case 6:
return listCliente.get(rowIndex).getTelefone();
default:
return null;
}
}
}
Este Código eu executo na inicialização do meu JDialog que está com minha Table.
clienteDao c = new clienteDao();
ArrayList ar = c.buscarClientes();
tmClient.addCliente(ar)
Uma parte do ERRO:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.util.ArrayList.addAll(ArrayList.java:581)
at model.tmCliente.addCliente(tmCliente.java:31)
at pag.test.jdSearcCliente.consultar(jdSearcCliente.java:115)
at pag.test.jdSearcCliente.(jdSearcCliente.java:27)
Se puderem me ajudar com este erro agradeço.