Estou com um grande problema com tabelas: Estou fazendo um programa usando MVC, AbstractTable e banco de dados, consigo implementar todos os métodos do DAO exceto um que me retorne um tabela com preenchida com os dados existentes no banco de dados,
Alguém pode me dar um HELP!!!
Diego.
Poste seu código (o método que você fez para retornar os valores).
Já montou o TableModel dessa tabela?
Esse é o metodo que cria minha tabela, estou usado o metodo getValue para montar a tabela,
package util;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import bean.Tabela;
import dao.TabelaDAO;
@SuppressWarnings(“serial”)
public class TabelaAbstrata extends AbstractTableModel{
private List dados = new ArrayList();
private String coluna[]= {“Descrição”};
Tabela t = new Tabela();
TabelaDAO dao;
@Override
public String getColumnName(int column) {
return coluna[column];
}
@Override
public int getColumnCount() {
return coluna.length;
}
@Override
public int getRowCount() {
return dados.size();
}
@Override
public Object getValueAt(int linha, int coluna) {
switch(coluna){
case 0:
return dados.get(linha).getDesc();
}
return null;
}
public void addLinha(Tabela p){
this.dados.add(p);
this.fireTableDataChanged();
}
public void removeLinha(int linha){
this.dados.remove(linha);
this.fireTableRowsDeleted(linha, linha);
}
}
Já sim, com todos os métodos obrigatórios, e também já tenho o banco de dados montado. Só faltando retornar os dados na tabela. Também ainda não fiz um DAO que retorne estes dados.
Crie o método DAO que retorna uma lista de objetos do banco de dados e insira esse método abaixo no seu TableModel;
private static List<Object> listaDeObjetos = new ArrayList<Object>();
public void addListaDeObjetos(List<Object> novosObjetos) {
int tamanhoAntigo = getRowCount();
listaDeObjetos.addAll(novosObjetos);
fireTableRowsInserted(tamanhoAntigo, getRowCount() - 1);
}