Atualizar jTable

4 respostas
Onixx2

Gostaria de saber como faço para atualizar um jTable, estou utilizando DefaultTableModel, já olhei em vários topicos aqui do guj mas não tive sucesso.
explicando melhor, eu tenho duas tabelas quando clico em uma linha da primeira tabela a segunda é atualizada. estou utilizando o evendo mousecliked para ouvir o evento da tabela, já está funcionando, pois os textFeild são atualizados quando seleciono as linhas, só não consigo atualizar a segunda tabela. Como Faço isso ?

A tela é esta.

4 Respostas

R

Você está usando setModel() na segunda JTable? A propósito, para monitorar mudanças de linha ou coluna numa JTable o ideal é usar SelectionListener’s, conforme exemplificado abaixo:

http://www.exampledepot.com/egs/javax.swing.table/SelEvent.html

Onixx2

ae pessoal ainda estou com a dúvida, já a muito tempo que tenho essa dúvida, nunca consegui atualizar um jTable.

laudenpower

Bom em primeiro lugar pude observar que você está usando o DefaultTableModel, nesse caso recomendo o uso do AbstractTableModel esse modelo te permite implementar métodos que facilitarão muito o manuseio dos objetos de negócio do seu sistema, aconselho a ler os dois tutoriais aqui do GUJ que já serão de grande ajuda.
Em segundo lugar como você passa os dados que são referentes a linha selecionada para o segundo JTable, poste o código para que seja feita uma análise.
Mesmo sem ver seu código aconselho a utilizar o método updateUI do segundo JTable logo após passar os dados para ele.

JTable2.updateUI();

Espero ter ajudado…

Onixx2

ae pessoal muito obrigado pelas dicas. Em fim consegui tazer a tabela atualizar.

Fiz assim

modelo.setDataVector(linhas, colunas);

jTable.validate();

para quem está procurando neste forum como fazer isso, foi assim que consegui, primeiro atualizei o defaultTableModel (modelo no meu caso) com a matriz [][] de linhas e o array [] de colunas. observe que o comando para atualizar o modelo é o “setDataVector”, depois utilizei o metodo “validate” da referida tabela para atualizar.

obrigado pessoal e espero ter ajudado outras pessoas também.

Criado 21 de junho de 2009
Ultima resposta 8 de jul. de 2009
Respostas 4
Participantes 3