Duvida jTable usando AbstractTableModel

1 resposta
shepherdmoons

Ola Boa-noite,

Sou novo no GUJ e estou usando table com AbstractTableModel usando exemplos com o que achei aqui mesmo no GUJ principalmente estudando os posts do VinyGodoi, consegui usar e entender o conceito, minha duvida: estou usando o NetBeans para fazer a parte de retorno em uma tabela os dados do banco, mas só que quando configuro os títulos da tabela aparece A e B e não “CLIENTE” e “PRODUTO”.

O código que estou usando:

public class ContatoTableModel extends AbstractTableModel
{
    private static final int COLUNA_CLIENTE = 0;
    private static final int COLUNA_PRODUTO = 1;
    private List<Contato> lista;

    public ContatoTableModel(List<Contato>lista)
    {
        this.lista = lista;
    }
    
    public int getRowCount()
    {
        return lista.size();
    }

    public int getColumnCount()
    {
        return 2;
    }

    public String getColunmName(int coluna)
    {
        if(coluna == COLUNA_CLIENTE)
        {
            return "cliente";
        }
        if(coluna == COLUNA_PRODUTO)
        {
            return "produto";
        }

        return "";


    }

    public Object getValueAt(int linha, int coluna)
    {

        Contato titulo = lista.get(linha);

        if(coluna == COLUNA_CLIENTE)
        {
            return titulo.getCliente();
        }
        else if(coluna == COLUNA_PRODUTO)
        {

            return titulo.getProduto();

        }

        return"";

    }

    public void setValueAt(Object valor, int indiceLinha, int indiceColuna)
    {

        Contato titulo = lista.get(indiceLinha);

        if(indiceColuna == COLUNA_CLIENTE)
        {
            titulo.setCliente(valor.toString());
        }
        else if(indiceColuna == COLUNA_PRODUTO)
        {
            titulo.setProduto(valor.toString());
        }

    }

    @Override
    public Class<?> getColumnClass(int indiceColuna)
    {

        if(indiceColuna == COLUNA_CLIENTE)
        {
            return String.class;
        }

        else if (indiceColuna == COLUNA_PRODUTO)
        {
            return String.class;
        }
        else
        {

        return String.class;

        }


    }

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


}

1 Resposta

igor_jua

Cara vc tem que sobrescrever o método getcolumnName…

Criado 30 de agosto de 2010
Ultima resposta 30 de ago. de 2010
Respostas 1
Participantes 2