Ocultando Coluna jTable

Oi,

Estou recebendo os dados em forma do Object (do hibernate) e jogo eles em uma jTable (usando DefaultTableModel).

Porém quero ocultar o campo que corresponde ao Código.
(Pois não acho que o usuário queria ver aquele numero lá).

Pensei em esconder a coluna código.
Alguem sabe como fazer isso? Ou tem outra ideia?

Me sugeriram deixar o tamanho dele como 0

(jTable1.getColumn(“Codigo”).setPreferredWidth(0):wink:

Mas acho meio gambiarra isso.

Any other sugestions?

tks
Daniel Machado

Olá!
Acho que outro jeito eh vc nao inserir a coluna na JTable: isso é, se vc estiver criando as colunas na mao.

Abraços!

Bruno,

Então, não sei o que vc quis dizer com não inserir na tabela, mas assim.
Me sugeriram eu fazer um novo DefaultTableModel com numero de colunas menor do que o que eu tinha antes, ai jogar a coluna que correspondia ao Código por ultimo e não exibi-la.
Ai apesar de não exibi-la, ela ainda estaria lá.
Isso que vc quis dizer?

Eu acredito fortemente que isso não funciona, mas…
I´ll try.

Valeu.
[s]

Putz, esqueci do detahe do tableModel.
Fucniona sim e acho q é o melhor jeito de se fazer. Eu mesmo uso esse método para esconder as colunas: deixa ela no modelo, mas os métodos que retorna se a coluna existe pra JTable falam que nao, tipo
Eu criei uma propriedade por coluna: isCellVisible().
no método getColumnCount retorno somente as que possuem essa propriedade como true. Acho q eh isso. Tenta ai… :smiley:

Abraços!

Não sei qual é o seu caso, mas uma idéia interessante é fazer com que o table model possua um arrayList (ou qualquer collection) onde está armazenado o objeto completo, assim vc controla o retorno dentro dos objetos e quando quiser acessar alguma linha da table, vc pode acessar o objeto inteiro… Não sei se fui claro, mas desse modo vc não precisa acessar o código, vc terá acesso ao objeto completo…

É uma idéia interessante, mas é claro que depende da sua necessidade!!!

Fallow

Ted,
Acho que vc foi claro sim :slight_smile:
Então, eu havia pensado nisso (na verdade pensei +/- isso).
A unica dificuldade seria que eu quero reordenar a tabela.
Tipo, quero deixar que o usuário tenha a capacidade de clicar em “Nome” e ordenar por nome, ou por “Salário”.
Ai eu teria que reordenar a Collection ou o conteudo do Objeto.
Ai seria mó caos.

Acho que vo faze +/- o que o Bruno falou.

(Sem criar o método isCellVisible() ehehe).

Mas valeu mesmo assim.
Tks galera
[s]

Lembre-se que vc pode usar um Collections.sort(List, Comparator) para ordenar listas, e talvez com um pouco de reflection não fica tão difícil implementar essa ordem com esses elementos :wink:

Fallow

Tem uma implementação da própria Sun em algum tutorial…

Um TableModel que utiliza outro table model delegado, e mais um vetor de permutação pra encontrar a linha certa…

mas não lembro onde tá. De qq jeito, tinha que mexer um monte de coisa pra funcionar como eu queria, e eu não tenho mais o meu código à mão. Mas procura no Google!!

[]s