Problema com Troca de TAB pelo ENTER

3 respostas
T

Bom pessoal, esse código funcionou que é uma beleza para trocar o TAB pelo Enter na mudança de focu dos componetes, mas ao chegar a um jbutton
onde tenha um keylistener adicionado usando a tecla enter para acionar o botão não funciona ele simplesmente só repassa o focu, só funciona quando retiro o método abaixo, como posso resolver esse problema ?

HashSet conj = new HashSet(frm.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));   
conj.add(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));    
frm.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, conj);

3 Respostas

J

Você tentou um “button.doClick()” dentro do keylistener e não deu certo ?

T

Cara tentei e não deu certo, eis o meu listener:

private void okButtonKeyReleased(java.awt.event.KeyEvent evt) {
    	if(evt.getKeyCode() == KeyEvent.VK_ENTER){
    		okButtonAction();
    		usuarioField.requestFocus();
    	}
    }

O bloco acima é simplesmente ignorado, só funciona o actionListener
Alguém pode me ajudar ?

E

O Enter é interpretado pela parte que mexe com foco e botão default ANTES do key listener. Você tem de mexer na parte que lida com o foco, infelizmente.

Criado 1 de agosto de 2010
Ultima resposta 3 de ago. de 2010
Respostas 3
Participantes 3