Navegar em JList/JScrollPane a partir de botões

3 respostas
murilo.ramos

Pessoal,

Estou desenvolvendo uma aplicação em que preciso manipular um JList de dois modos: usando-o normalmente a partir do mouse e a partir do scroll, e também navegando em seus itens a partir de dois botões (JButton) (Ir pra cima e Ir pra baixo)

O problema que estou tendo é que a visualização do JList não está ficando certa.

Sempre que eu clico no baixo “Ir pra baixo” por exemplo eu vou descendo a seleção no Jlist, mas quando chega ao final e começo a descer aos itens inferiores, o scroll do lado não desce junto, ou seja eu vou selecionando os itens mas eles não aparecem pq o scroll não rola junto, fica sempre no topo

Acredito que o problema seja no scroll, pois uso o JList a partir do Netbeans (6.5) e quando o adiciono, ele vem dentro de um JScrollPane

Alguem sabe como resolvo esse problema?

Código Ir Pra cima:
JList.setSelectedIndex(JList.getSelectedIndex()-1);

Código Ir Pra Baixo:
JList.setSelectedIndex(JList.getSelectedIndex()+1);

Obrigado desde já :smiley:

3 Respostas

murilo.ramos

Ninguem?? :frowning:

quem não entendeu, imaginem assim: tenho um JList com 20 itens, mas pro causa de seu tamanho só aparecem 10 itens, pra ver os outros 10 tenho que usar o Scroll do lado, mas ao inves de usar um Scroll quero usar dois botoes, um para subir a seleção, e outro para descer a seleção dos itens. Enquanto eu vou selecionando os itens de cima do JList (10 Primeiros) tudo bem, mas quando eu desço para os itens inferiores, a barra de Scroll não desce Junto, ai não consigo vizualizar qual Item está selecionado.

Assim, eu quero que quando eu selecione os itens inferiores a barra de scroll desça junto.

Alguem sabe?

Vlw :wink:

SrFabio

Olá,

Como a tua JList está dentro do JScrollPane, então tu podes pegar a JScrollBar e manipular o seu valor através do método setValue.

Exemplo:

JScrollBar scroll = jscrollpane.getVerticalScrollBar(); // supondo que a tua JList está dentro do jscollpane

scroll.setValue(scroll.getValue()+10); //actualiza o valor/posicao da scrollbar

Dá uma olhada na API da JScrollBar: http://download.oracle.com/javase/6/docs/api/index.html

Espero ter sido útil :wink:

murilo.ramos

aowpa

valeu pela resposta cara, deu certo isso ai sim, não ficou exatamente do jeito que eu queria mas ficou bom

toda vez que os botões são clicados, o value so Scroll recebe a posição do Selectedindex() do Jlist, ai o Scroll fica se movendo toda hora, e eu queria que ele se movimentasse só quando chegasse ao final do Jlist

vou ler a specificação e tentar fazer diferente, se eu conseguir eu posto aqui

Vlw :smiley:

Criado 10 de agosto de 2010
Ultima resposta 16 de ago. de 2010
Respostas 3
Participantes 2