[RESOLVIDO]Problema com JTable

E aí galera, estou fazendo um projeto na faculdade, é um sistema para uma pizzaria. Nele eu já coloquei cadastro de clientes, cadastro de pizzas, e sistemas de pedido. Na parte de clientes e pizza, fiz um relatório com todos os cadastros, usando um JTable, quero fazer um relatório de pedidos, estou fazendo da mesma maneira, usando o mesmo código mas a tabela simplesmente não carrega, já debuguei e está tudo certinho, ele reconhece a quantia de linhas que a tabela tem, porém as linhas ficam em branco. Segue o código:

[code]package apresentacao;

import java.util.ArrayList;

import javax.swing.table.AbstractTableModel;

import modelo.TabelaE;

public class PedidoTableModel extends AbstractTableModel{

private ArrayList<TabelaE> lista = new ArrayList<TabelaE>();

private String[] colunas = new String[] { "Cod. Ped.", "Data Ped.", "Hora", "Cod. Cli.", "Nome Cli.", 
										"Total Ped.", "Entrega", "Sabor Pizza", "Quantidade" };

@Override
public int getColumnCount() {
	
	return colunas.length;
}

@Override
public int getRowCount() {
	
	return lista == null ? 0 : lista.size();
}


@Override
public Object getValueAt(int linha, int coluna) {
	TabelaE tabela = new TabelaE();
	
	switch(coluna) {
	case 0:
		return tabela.codped;
	case 1:
		return tabela.dataped;
	case 2:
		return tabela.horaped;
	case 3:
		return tabela.codcli;
	case 4:
		return tabela.nome;
	case 5:
		return tabela.totalped;
	case 6:
		return tabela.entrega;
	case 7:
		return tabela.sabor;
	case 8:
		return tabela.quantidade;
	default:
		return null;
	} 
}


public String getColumnName(int coluna) {
	return colunas[coluna];
}

public TabelaE getValueAt(int linha) {
	return lista.get(linha);
}

public void setResultSet(ArrayList<TabelaE> novaLista) {
	if (novaLista != null) {
		lista = novaLista;
	} else {
		lista = new ArrayList<TabelaE>();
	}
	
	fireTableChanged(null);  //avisa que os dados foram atualizados
}

}[/code]

[code]public ArrayList listar() throws SQLException{
ArrayList lista = new ArrayList();
Connection conexao = Conexao.getConexao();

	String sql = "SELECT pedido. * , cliente.nome_cli, itenspedido.quantidade, pizza.sabor "+
				"FROM pedido " +
				"INNER JOIN cliente ON pedido.codcli = cliente.id "+
				"INNER JOIN itenspedido ON pedido.codped = itenspedido.codped "+
				"INNER JOIN pizza ON itenspedido.codpizza = pizza.codigopizza "+
				"ORDER BY pedido.codped"; 
	
	ResultSet dados = conexao.createStatement().executeQuery(sql);
	
	while(dados.next()) {
		lista.add(Instanciar(dados));
	}
	
	conexao.close();
	return lista;
}[/code]

[code]private void popularTabelaRelatorio() {

		try {
			PedidoP pedido = new PedidoP();
			modelo.setResultSet(pedido.listar());
			
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
	}[/code]

Obrigado!!

Galera, já consegui. O problema estava no método getValueAt do PedidoTableModel, ele estava criando uma nova TabelaE, e não pegando o da linha passada. Obrigado