JScrollPane

2 respostas
igor_jua
Pessoal, tenho uma Jtable estou fazendo com que o JSCrollBar horizontal dela se movimente sozinho subindo e descendo. Porém tenho o problema de que nunca sei a posição certa dele parar
max = sb.getMaximum();// O problema é aqui, pois eu nunca sei qual o valor correto de parar a movimentação
Ou seja, eu preciso que as linhas da jTable passem bem devagar, assim sendo eu utilizo o
sb.setValue(valor);
A variavel valor é incrementada de 2 em 2 dentro de uma Thread quefaz requisicao a Thread do swing para fazer esta atualizacao. O problema é que como o valor da variavel max é muito grande, o Scroll chega até o final e fica esperando a variavel valor chegar ao mesmo valor de max para subir novamente. E isto leva muito tempo. Assim sendo, tem como pegar o valor correto da posição final do ScrollPane??? Existe uma maneira de saber se o ScrollBar já esta no final? Ou até mesmo saber se ele esta se movimentando?(Tipo no código ele esta se movimentando,pois mesmo parado o value dele é aumentado).

2 Respostas

ViniGodoy

Use os métodos getCellRect e o método scrollRectToVisible do ViewPort.
Dê uma olhada nessa classe para ver como eles funcionam:
http://www.guj.com.br/posts/list/88656.java#474184

igor_jua

Blz Vini, eu já havia pensado em utilizar o getCellRect da minha JTable, mas com o getCellRect eu tenho que apontar a coluna a ser visualizada, e minha tabela possui muitas colunas. Assim sendo o Scroll horizontal vai ficar onde o usuario precisar e o vertical é que deverá ficar em movimento.
Estudei agora no seu post o uso do scrollRectToVisible, mas não entendi onde ele se encaixa no meu problema.

Help!!!
:smiley:

Criado 16 de setembro de 2010
Ultima resposta 17 de set. de 2010
Respostas 2
Participantes 2