| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/04/2007 20:40:38
|
AislanMan
Debugger
Membro desde: 19/01/2007 10:02:48
Mensagens: 56
Offline
|
Pessoal, to precisando mesmo da ajudinha de vcs...
Bom, eu tenho uma tabela onde uma das colunas é um objeto do tipo boolean, o qual fica representado na tabela como um check box, certo!
Então, qdo eu instancio esta tabela, eu passo no construtor o modelo que criei, o qual extende de abstractTableModel (JTable table = new JTable(meuModelo)).
Neste meu modelo, tem o método setValueAt(object, row, col), onde eu atribuo um valor para determinada celula da minha tabela. Entao, minha dúvida é:"Porque quando eu chamo o método setValueAt() o valor da célula não muda na tabela(no caso o boolean, se eu passar 'true' deveria marcar o checkbox), sendo que se eu jogar depois pra saida padrão o getValueAt() este valor está alterado?"
Precisa chamar algum método como o repaint(não este, pois já tentei) pra recriar a tabela com base nos novos valores setados?
OBS:
Até o momento, está funcionando quase que perfeitamente, pois traz os valores do bd, marca os check box(boolean) com o mouse, salva no bd, carrega com os ítens checados(qdo for o caso), etc...
Um abraço,
Aislan
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 12:17:36
|
AislanMan
Debugger
Membro desde: 19/01/2007 10:02:48
Mensagens: 56
Offline
|
"Pra que fique mais claro, o que eu estou fazendo é chamar o método setValueAt(Object, row, col) através de um botão, com o objetivo de checar todos os check box(marcar os booleans como true) em todas as linhas na coluna zero(fiz um laço pra isso claro, e está OK). Como eu já disse, se eu mandar pra saida padrão os novos valores, estão todos setados como 'true', porém, não atualiza na tabela".
.... mais um detalhe. Dei mais uma pesquisada na net e o metodo fireTableCellUpdated(row, col), o qual deve ser chamado dentro do método setvalueAt(Object, row, col) após o novo valor ser atribuido, tem a função de fazer esta atualização na tabela.
Bom, no meu está assim, mas continua não atualizando minha tabela ...
Pessoal, to precisando mesmo resolver esta parada!
Um abraço a todos,
Aislan
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 12:59:40
|
luiz_renato
JavaEvangelist
![[Avatar]](/images/avatar/a8f8f60264024dca151f164729b76c0b.jpeg)
Membro desde: 29/07/2003 10:18:12
Mensagens: 415
Localização: Belém - PA
Offline
|
Meu caro ,
Vc faz a atulização da tabela mudando os valores do model e depois usando jtrable.setModel ( seuModel ) ?
Renato
|
Luiz Renato
OCJP
"Os sonhos exigem respeito" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 18:17:26
|
AislanMan
Debugger
Membro desde: 19/01/2007 10:02:48
Mensagens: 56
Offline
|
Renato,
Eu apenas mudo os valores por setValueAt(object, row, col). Quando eu crio a tabela, eu passo no construtor de JTable o nome do modelo que é uma subclasse q extende abstractTableModel. Ex: table = new Jtable(new MeuModelo()). Nesse caso, o q devo fazer?
Aislan
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 18:17:26
|
AislanMan
Debugger
Membro desde: 19/01/2007 10:02:48
Mensagens: 56
Offline
|
Renato,
Eu apenas mudo os valores por setValueAt(object, row, col). Quando eu crio a tabela, eu passo no construtor de JTable o nome do modelo que é uma subclasse q extende abstractTableModel. Ex: table = new Jtable(new MeuModelo()). Nesse caso, o q devo fazer?
Aislan
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 18:46:11
|
luiz_renato
JavaEvangelist
![[Avatar]](/images/avatar/a8f8f60264024dca151f164729b76c0b.jpeg)
Membro desde: 29/07/2003 10:18:12
Mensagens: 415
Localização: Belém - PA
Offline
|
Olha só :
Como eu costumo fazer ( e funciona ) : implemento o model armazenando os dados num ArrayList ; quando quero mudar o valor de uma linha na JTable ( no teu caso são vários e vc deve fazer um laço/ verificar quais linhas modificar ... ), pego o row especifico da JTable , uso como indice p/ procurar no meu Arraylist do model , com esse objeto localizado mudo o valor que quero e depois dou jtable.setModel ( meuModelo ) aí atualiza a exibição ( claro implemento o método setValueAt no model , porém não o uso diretamente ) .
Penso assim pq o model é justamente onde vc quarda os dados propriamente ditos da tabela , entao evito tentar muda-los diretamente na jtable .
Qualquer coisa , manda o código p/ dar uma olhada .
[]´s
Renato
|
Luiz Renato
OCJP
"Os sonhos exigem respeito" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 19:53:04
|
AislanMan
Debugger
Membro desde: 19/01/2007 10:02:48
Mensagens: 56
Offline
|
Renato, dá uma olhada então no fonte por gentileza...
| Nome do arquivo |
tabela.txt |
Download
|
| Descrição |
|
| Tamanho |
6 Kbytes
|
| Baixado: |
134 vez(es) |
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/04/2007 10:50:10
|
AislanMan
Debugger
Membro desde: 19/01/2007 10:02:48
Mensagens: 56
Offline
|
Rento, vc chegou a dar uma olhada?
|
|
|
 |
|
|