Tenho uma table, que recebe dados de um web service, portanto atualizo essa table numa thread de 5 em 5 segundos. Porém, quando é atualizada a table, DÁ UMA TREMIDA, o que eu não quero deixar que aconteca, pois imaginem uma pessoa que fica olhando para essa tela o dia todo!
Ao invés de trocar o table model periodicamente, porque você não faz com que a classe SituacaoAgenteTableModel disponibilize métodos para para inserção/alteração/remoção de registros? Dessa forma, você não precisaria trocar o table model da sua tabela por um novo SituacaoAgenteTableModel a cada cinco segundos, bastaria apenas você recuperar o table model da sua JTable, fazer o cast para SituacaoAgenteTableModel e adicionar/remover/alterar o(s) registro(s) apropriadamente.
Acha que é possível fazer isso no seu caso?
Se nada der certo, uma alternativa não muito elegante seria você colocar um JPanel na frente da tabela com uma mensagen tipo “atualizando dados. Aguarde…” que ficasse 1 ou 2 segundos na frente da JTable, pra dar o tempo dela ser carregada novamente… Muito pog isso será?
[quote=maquiavelbona]1 ou 2 segundos de wait para uma atualização de 5 segundos de passo? Talvez não seja legal.
Até![/quote]
Sabia que isso cheirava a POG… :lol:
Mas algo me diz que deve ter alguma solução que deve ser desenvolvida dentro do table model criado… BrunoLeonardo, dê uma olhada no código fonte da DefaultTableModel e veja se não consegue ter algum insight. Chegando em casa vou ver se tenho algum exemplinho e posto aqui.
Se você utilizar uma Thread separada do processo atual , talvez ajude a não tremer a tela. Pois se a tela treme quando vai atualizar e porque ela parou alguns milesimos ou segundos para conseguir processar o evento que você solicitou.
Como a Thread SwingWorker. Isso é apenas uma sugestão, espero que te ajude.