Pessoal, li inúmeros artigos sobre "Cria sua TableModel". E estou quebrando a cabeça com o Default estão,gostaria de saber se a minha classe TableModel está correta, e como faço para lista informações na minha table com dados vindo de uma consulta.
Minha TableModel ( Não fiz nenhum metodo para manipular ainda, seria a principio apenas lista a JTABLE):
public class EstoqueTableModel extends AbstractTableModel{
private List estoque;
public EstoqueTableModel() {
estoque = new ArrayList();
}
public EstoqueTableModel(List lista) {
this();
estoque.addAll(lista);
}
public int getRowCount() {
return estoque.size();
}
public int getColumnCount() {
return 6;
}
@Override
public String getColumnName(int column) {
//qual o nome da coluna
switch (column){
case 0:
return "Nome";
case 1:
return "Obs";
case 2:
return "Qnt";
case 3:
return "V_Compra";
case 4:
return "V_Venda";
case 5:
return "Lucro";
default:
return "";
}
}
@Override
public Class getColumnClass(int coluna) {
//Retorna todas as colunas
return String.class;
}
public Object getValueAt(int linha, int coluna) {
Estoque e = (Estoque) estoque.get(linha);
switch (coluna){
case 0:
e.getNome();
case 1:
e.getObs();
case 2:
e.getObs();
case 3:
e.getVCompra();
case 4:
e.getVVenda();
case 5:
e.getLucro();
default:
return "";
}
}
@Override
public void setValueAt(Object valor, int linha, int coluna) {
Estoque e = (Estoque) estoque.get(linha);
switch(coluna){
case 0:
e.setNome(valor.toString());
break;
case 1:
e.setQnt(valor.toString());
break;
case 2:
e.setObs(valor.toString());
break;
case 3:
e.setVCompra(valor.toString());
break;
case 4:
e.setVVenda(valor.toString());
break;
case 5:
e.setLucro(valor.toString());
break;
}
fireTableDataChanged();
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return true;
}
}
Public List<Estoque> getLista() throws SQLException {
String sql = "Select * from estoque";
PreparedStatement stmt = conexao.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
List<Estoque> minhaLista = new ArrayList<Estoque>();
while (rs.next()) {
Estoque e = new Estoque();
e.setNome(rs.getString("Nome"));
e.setObs(rs.getString("Obs"));
e.setQnt(rs.getString("Qnt"));
e.setVCompra(rs.getString("V_Compra"));
e.setVVenda(rs.getString("V_Venda"));
e.setLucro(rs.getString("Lucro"));
minhaLista.add(e);
}
rs.close();
stmt.close();
return minhaLista;
}
Agora como ficaria um metodo para listar os dados na minha jTable?

