Java reconhecer a tecla TAB

4 respostas Resolvido
Miguel_Avila

Oi galera tudo beleza? estou com um problema pra reconhecer a tecla TAB no Java quando vou passar de um jTextField para outro. O código está assim por enquanto:

private void txtProdKeyPressed(java.awt.event.KeyEvent evt) {

if (evt.getKeyCode() == KeyEvent.VK_TAB) {

int n = Integer.parseInt(txtProd.getText());

System.out.println(n);

switch (n) {

case 40005:

lblProduto.setText(Produto1);

break;

case 60001:

lblProduto.setText(Produto2);

break;

case 30003:

lblProduto.setText(Produto3);

break;

default:

JOptionPane.showMessageDialog(this, Produto Invalido!);

break;

}

}

}

-> Mas ai quando aperto a tecla TAB o lblProduto não pega o texto e nada acontece. Alguém sabe como resolver?

4 Respostas

staroski
Solucao aceita

Por padrão as teclas TAB e SHIFT TAB são consumidas sem serem propagadas para os KeyListeners.

Para mudar esse comportamento você tem que fazer o seguinte:

meuComponente.setFocusTraversalKeysEnabled(false);

Só que daí você vai ter que implementar sozinho a parte de trocar de campo ao pressionar TAB ou SHIFT TAB.

Não seria mais fácil você adicionar um FocusListener e tratar o evento focusLost?

Miguel_Avila

funcionou, porém ele não passa para o próximo jTextField quando aperto o TAB

staroski

Editei a mensagem anterior, veja o que escrevi no final. :wink:

Miguel_Avila

Vou tentar, Obrigado :slightly_smiling_face:

Criado 21 de agosto de 2019
Ultima resposta 22 de ago. de 2019
Respostas 4
Participantes 2