Olá pessoal,
tenho um JList com uma lista de dentro dele e do lado desse JList tenho 2 botões um UP e um DOWN, quando seleciono algum elemento dentro do JList e clico em DOWN esse elemento é deslocado para baixo na lista. Até ai ta tudo beleza, porém para continuar movendo esse elemento para baixo eu preciso novamente seleciona-lo no JList e novamente clicar em DOWN.
Queria saber como faço para deslocar o foco junto com o elemento que selecionei, para poder selecionar uma vez o elemento e depois só clicar em DOWN e ele ir descendo na lista.
Pega o índice do item selecionado na JList, move pra baixo e seta o foco na JList novamente, mas no índice de baixo.
e como faço para setar o foco?
seuComponente.requestFocusInWindow();
jlist.grabFocus();
jlist.setSelectedIndex(int);
blza esse ai ele me mostra onde o foco está no JList, mas queria seta-lo para poder move-lo.
exemplo:
| item1 |
| item2 | <---- foco aqui
| item3 |
| item 4 |
clico em down
| item1 |
| item3 | <---- foco continua aqui
| item2 |
| item 4 |
o foco continua no mesmo lugar, queria que ele descesse junto com o item 2.
agora sim! funcionou tudo aqui!
muito obrigado pela ajuda de vcs!
[quote=claudneto]jlist.grabFocus();
jlist.setSelectedIndex(int);
[/quote]
Diz o Javadoc do método GrabFocus:
This method is intended for use by focus implementations. Client code should not use this method; instead, it should use requestFocusInWindow().
http://download.oracle.com/javase/1.5.0/docs/api/javax/swing/JComponent.html#grabFocus()
O mesmo vale para o requestFocus().
O único método que deve ser chamado para requisitar foco é o requestFocusInWindow().