jList como fazer scrollbar rolar automaticamente?

6 respostas
J

fala pessoal,

tenho um jList e fica recebendo adds e gostaria que o scrollbar também rola-se quando encher a area visivel do jlist, quam proprieade ou método posso usar apra fazer isso ?

6 Respostas

briansiervi

Bem, eu implemento o Jlist assim:

DefaultListModel defaultLista = new DefaultListModel(); JList jLista = new JList(); jLista.setModel(defaultLista); JScrollPane scroll = new JScrollPane(jLista);
Depois disso somente adiciono o “scroll” ao jpanel…
Vou pesquisar sobre o foco automático.

briansiervi

Consegui dá o foco ao último elemento. Acho que pode ser útil para mais alguém…

jLista.setSelectedIndex(defaultLista.getSize() - 1); // Dá foco ao último elemento da lista
jLista.ensureIndexIsVisible(defaultLista.getSize() - 1); // Acompanha o último elemento da lista com rolagem automática.

E caso você precise deletar um item inserido pode fazer o seguinte:

Object item = defaultLista.getElementAt(jLista.getSelectedIndex());
defaultLista.removeElement(item);
ricardo_batista_alme

Não deu certo , tem certeza que é -1 ?

briansiervi

Tenho sim, Ricardo, “defaultLista.getSize() - 1”. Mas para isso, você tem que ter adicionado itens à JList.
Mas se quiser, poste o seu código para que possamos ajudá-lo…

Abraços.

ricardo_batista_alme

Obrigado voce estava certo, quando eu setei para a rolagem automática passei no lugar errado , então quando voce falou que tinha que ter
itens na lista, então coloquei o codigo apos a inserção de itens , ai deu certo .
Obrigado, agora queria que não ficasse com no focu, tem como tirar ?

ricardo_batista_alme

Já achei voce já tinha explicado, retirado dar o focu no ultimo elemento
obrigado

Criado 12 de junho de 2007
Ultima resposta 23 de dez. de 2011
Respostas 6
Participantes 3