Remover coluna de uma JTable sem perder seu valor[RESOLVIDO]

3 respostas
ElesisLink

Olá, pessoal, eu estou com uma dúvidazinha aqui, mas nada tão osso quando minhas últimas perguntas… :smiley:

Eu tenho uma JTable, melhorada graças ao AbstractTAbleModel e uma grande ajuda do ViniGodoy, onde existe uma coluna de ID.

Preciso sumir com essa coluna, mas sem perder seu valor, para que possa referenciá-lo na hora de fazer as alterações e exclusões…

Como eu faço isso :?:

3 Respostas

ViniGodoy

Se você fez o AbstractTableModel certinho, você tem uma lista de objetos dentro do model, certo?

Então, simplesmente não retorne essa coluna no model.

Mas crie um método no seu TableModel para retornar o objeto inteiro da linha, algo como:

public SuaClasse get(int row) { return objetos.get(row); }

Dessa forma, vc não exibe a coluna do id, mas tem acesso a ela. Por exemplo, quando alguém clicar num botão:

int row = suaTable.getSelectedRow(); if (row == -1) return; SuaClasse objetoClicado = seuModel.get(row); System.out.println("O id do objeto clicado é " + objetoClicado.getId());

Melhor que isso. Dessa forma, você deixa de depender totalmente do método getValueAt. Deixa também de fazer casts, e deixa de depender da ordem das colunas na hora de usar os dados.

Marlon_Meneses

dá uma olhada nesse post
staticjava.blogspot.com
vai te ajudar com certeza

ElesisLink

Valeu, ViniGodoy e Marlon Meneses, consegui fazer funcionar… eu só num entendi como vc sabia qual era o id… nem como saber

Criado 14 de junho de 2012
Ultima resposta 14 de jun. de 2012
Respostas 3
Participantes 3