Olá pessoal,
Eu criei uma tabela e junto com a mesma, existe um jScrollPane… Eu vou adicionando valores na tabela a medida que o programa vai sendo executado mas chega uma hora que o espaço que eu reservei para a minha tabela ultrapassa o tamanho que eu limitei para a mesma e o jScrollPane aparece… Eu gostaria que, de alguma forma, o jScrollPane fosse rolando pra baixo a medida que surgissem as novas linhas… Ou seja… a ultima linha da tabela estaria sempre visivel na tela…
Espero que eu tenha sido claro na minha dúvida…
Aguardo ajuda…
Agradeço desde já,
DanielSR
int maxValue = scroll.getVerticalScrollBar().getMaximum();
scroll.getViewport().setViewPosition(new Point(0,maxValue));
1 curtida
Perfeito… Muitissimo obrigado maxguzenski!!!
Max, fazendo alguns testes, eu vi que as vezes, na hora de inserir novos dados na tabela, a posição onde o novo valor deveria ser inserido (sempre no final da tabela) se embaralha e começa a inserir valores no meio da tabela e coisa do tipo… Como se o ponteiro que aponta a linha onde o elemento será inserido fosse pro meio da tabela do nada…
Alguem sabe pq acontece isso?
nao… mas poste um trecho do seu codigo ai.
A parte do código que eu estou usando a sua dica é a seguinte:
DefaultTableModel modelo = (DefaultTableModel) jTableResposta.getModel();
for (int i=0;i<resultadoTabela.size();i++) {
modelo.addRow(resultadoTabela.get(i));
int maxValue = jScrollPane1.getVerticalScrollBar().getMaximum();
jScrollPane.getViewport().setViewPosition(new Point(0,maxValue));
}
Pode parecer estranho isso aí, mas está dessa forma porque joguei isso numa Thread para que os dados não surjam de uma vez na tabela… Mas sim, temporizadamente… Dando a impressão que está sendo resolvido aos poucos… (eu enxuguei o resto do código pra sobrar apenas o q era importante aqui pro tópico)
A medida que essa thread vai sendo executada, eu consigo perceber q a tabela fica piscando e recebendo as novas linhas… Mas algumas vezes as linhas nao sao inseridas no final da tabela… As vezes fica embaralhado o lugar onde ela adiciona as novas linhas…
No aguardo de alguma ajuda…
Obrigado pela atenção,
DanielSR
voce sobrescreveu o Model da tabela talves? pq senao, nao sei o que esta acontecendo.
Eu “acho” que consegui consertar o problema… De qualquer forma… Muito obrigado pela ajuda anterior sobre manter o jScrollPane sempre mostrando a ultima linha… Aquilo lá foi muito útil…
Eu consertei apenas jogando o model fora do for (como eu mostrei aqui)… Tava dando problema qdo o model tava dentro do for… Dae qdo eu fui colar o código aqui q eu percebi isso… Bom… eu acho que isso q pode ter sido consertado… Não fiz mais nada…
Muito Obrigado max…
Até,
DanielSR
Eu “acho” que consegui consertar o problema… De qualquer forma… Muito obrigado pela ajuda anterior sobre manter o jScrollPane sempre mostrando a ultima linha… Aquilo lá foi muito útil…
Eu consertei apenas jogando o model fora do “for” (como eu mostrei aqui)… Tava dando problema qdo o model tava dentro do “for”… Dae qdo eu fui colar o código aqui q eu percebi isso e mudei… Bom… eu acho que isso q pode ter sido consertado… Não fiz mais nada…
Muito Obrigado max…
Até,
DanielSR