Foco no KeyListener

3 respostas
Ironlynx

Opa pessoal…tô usando um KeyListener para adicionar foco nos componentes para ir mudando os componentes conforme for apertando “ENTER”,mas qdo passa num JList ele trava.Meu keypressed tah assim:

public void keyPressed(KeyEvent ke){ if(ke.getKeyCode() == ke.VK_ENTER){ Component componente = (Component) ke.getSource(); componente.transferFocus(); } }
e adiciono normalmente cada componente…como faço para “pular” o JList? :roll:

3 Respostas

E

Soa como gambiarra, mas adiciona ao list um FocusAdapter que transfere o foco quando recebido:

list.addFocusListener(new FocusAdapter() {
    public void focusGained(FocusEvent e) {
        list.transferFocus();
    }
});
Ironlynx

Essa forma q vc fez consegue pegar o foco para o JList,mas não deixa os demais(os componentes após ele)pegarem o foco…não sai mais dele(do JList!) :?

Ironlynx
Resolvi

Para o componente JList pegar o foco e depois liberá-lo:

depois de adicioná-lo no JScrollPane:

JScrollPane listScrollPane = new JScrollPane(list);

Vc tem q fazer:

listScrollPane.getVerticalScrollBar().setFocusable(false);

listScrollPane.getHorizontalScrollBar().setFocusable(false);



Para todos os componentes receberem o foco normalmente depois
Criado 14 de julho de 2004
Ultima resposta 15 de jul. de 2004
Respostas 3
Participantes 2