[Dúvida] AbstractTableModel ! [RESOLVIDO]

3 respostas
Nicolas_Fernandes

Olá, pessoal do GUJ! Tudo bem??

Estava eu fazendo o meu AbstractTableModel (aliás, Vini, ficou muito mais simples de trabalhar assim!), e fiz meus códigos assim:

Inserção, remoção e atualização:

public void insert(Horario horario) throws Exception {

        this.horarios.add(horario);
        // Adiciona o objeto horário no banco.
        this.fireTableRowsInserted(this.horarios.size(), this.horarios.size());
    }

    public void remove(Horario horario) throws Exception {

        int index = this.horarios.indexOf(horario);

        if (index == -1) return;

        this.horarios.remove(index);
        // Remove o objeto horário no banco.
        this.fireTableRowsDeleted(index, index);
    }

    public void update(Horario horario) throws Exception {

        int index = this.horarios.indexOf(horario);

        if (index == -1) return;

        this.horarios.get(index).setId(horario.getId());
        this.horarios.get(index).setHorario(horario.getHorario());

        // Atualiza o registro no banco.

        this.fireTableCellUpdated(index, index);
    }

Legal… Agora, eu queria fazer um método que pega uma coleção do banco de dados e popula minha JTable.
Quero chamar este método de “list”.

Alguém tem alguma idéia? Qual dos métodos vai me servir para reprintar a tela da JTable com os dados que eu tiver?

Desde já, agradecido!

[]s

3 Respostas

ViniGodoy

Não falei que facilitava a vida? :wink:

Na verdade, você vai criar um método mais ou menos assim:

public void replace(List<Horario> horarios) throws Exception {  
    this.horarios = new ArrayList(horarios);

    //Avisa que tudo mudou
    this.fireTableDataChanged();
}

Para usar:

seuTableModel.replace(horarioDao.carregarHorarios());

Outra opção é criar um novo model, e substituir o model no JTable.

Nicolas_Fernandes

Opa!

Deu certinho, Vini! :smiley:

Valeuzão! Qualquer dúvida, venho te apurrinhar novamente xD

[]s

ViniGodoy

Se for usando o AbstractTableModel, à vontade! Tudo pela morte do Default!

Se for pelo Default, só vou ficar repetindo para vc não usar ele, eheeheh.

Criado 26 de outubro de 2009
Ultima resposta 26 de out. de 2009
Respostas 3
Participantes 2