Selecionar colunas no JTable [RESOLVIDO]

14 respostas
R

Num JList eu posso fazer:

e

Agora, meu problema é o seguinte, num JTable eu posso fazer:

e como faço para “settar” as colunas selecionadas?! :shock:

Grata,

14 Respostas

L

Movido para interface gráfica!

R

Acho que não ajudou muito não… :cry:

K

RenataFA:

e como faço para “settar” as colunas selecionadas?! :shock:

Grata,

Normalmente onde tem um get tem um set , tentou um

int sels[] = {2,3};
tabela.setSelectedColumns( sels );
R

Sim claro!

Justamente ai o problema, esse não é um caso normal pq não tem um “set”… :cry:

L

Humm… apenas chutando, vc deu uma olhada nesse cara aqui Renata:
setColumnSelectionInterval
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTable.html#setColumnSelectionInterval(int,%20int)

K

Entao esse metodo: “tabela.getSelectedColumns();” foi implementado no model da tabela…
Veja o codigo da implementação do “get” e faça uma implementação pro “set”. :wink:

Boa sorte! :thumbup:

L

Fiz um teste aqui que funcionou…

// habilta selecao por coluna
tabela.setColumnSelectionAllowed(true);

// desabilita a selecao por linha
tabela.setRowSelectionAllowed(false);

// escolhe quais colunas quer selecionar
tabela.setColumnSelectionInterval(inicio, fim);

Espero que ajude! :slight_smile:

R

Guilherme Keller:
Entao esse metodo: “tabela.getSelectedColumns();” foi implementado no model da tabela…
Veja o codigo da implementação do “get” e faça uma implementação pro “set”. :wink:

Boa sorte! :thumbup:

Bem que eu tentei! Só que não adiantou nada, o que eu preciso msm que é ver como mudar o valor deste atributo não tem na implementação do get… obviamente…

R

Luiz Aguiar:
Fiz um teste aqui que funcionou…

// habilta selecao por coluna
tabela.setColumnSelectionAllowed(true);

// desabilita a selecao por linha
tabela.setRowSelectionAllowed(false);

// escolhe quais colunas quer selecionar
tabela.setColumnSelectionInterval(inicio, fim);

Espero que ajude! :)

Não sei pq, mas aqui não funciona! :?

R

Desculpem!
Eu estava fazendo uma besteirinha… :oops:

Desta forma:

Praticamente funcionou, a não ser por um problema: eu tenho que selecionar não um INTERVALO mas sim posições individuais, por ex, eu posso ter que selecionar as posições: 1,3,4,5,6,18

Entendem?

E usando o comando que mencionei não consigo! Ele sempre mantém a última seleção, se mando selecionar de 1 a 1, depois de 3 a 5 e por fim de 18 a 18 ele vai manter apenas o 18 selecionado.

Alguma idéia do que fazer?

grata

R

Bom, resolvi usando o seguinte método:

O bendito método depois de mover já deixa o campo selecionado, então resolveu meu problema, eu estava movendo de outra forma e depois tentando selecionar pra ficar evidente pro usuário o que tinha sido movido. Agora estou usando este método que faz tudo pra mim.

Obrigada à todos…

[]'s :wink:

L
Renata, olha esses dois métodos:

addColumnSelectionInterval(int index0, int index1);

removeColumnSelectionInterval(int index0, int index1);
L

opa, não vi que tinha resolvido, mas fica ai uma sugestões para futuros problemas… hehe…rs :slight_smile:

R

Opa!

vlw pela dica! :wink:

Criado 9 de abril de 2007
Ultima resposta 9 de abr. de 2007
Respostas 14
Participantes 3