Java reconhecer a tecla TAB

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?

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?

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

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

Vou tentar, Obrigado :slightly_smiling_face:

1 curtida