Pessoal,
No construtor do JFrame principal da aplicação coloquei o seguinte código para considerar o ENTER igual ao TAB na mudança de foco, como também a tecla UP (seta pra cima) como um Shift+TAB:
[code] KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
Set<AWTKeyStroke> teclasNext = new HashSet<>();
teclasNext.add(AWTKeyStroke.getAWTKeyStroke("pressed TAB"));
teclasNext.add(AWTKeyStroke.getAWTKeyStroke("pressed ENTER"));
teclasNext.add(AWTKeyStroke.getAWTKeyStroke("pressed DOWN"));
manager.setDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, teclasNext);
Set<AWTKeyStroke> teclasPrevious = new HashSet<>();
teclasPrevious.add(AWTKeyStroke.getAWTKeyStroke("pressed UP"));
manager.setDefaultFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, teclasPrevious);
[/code]
Ocorre que em uma outra classe JInternalFrame, o ENTER e a seta pra cima (UP) funcionam beleza, devido o código acima. Mas aí deixou de ouvir o ENTER, TAB e UP no seguinte código:
private void txtRazaoSocialClienteKeyReleased(java.awt.event.KeyEvent evt) {
System.out.println("passou por aqui!");
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
this.janelaInterna = ClienteConsulta.getInstancia(area_trabalho);
if (this.janelaInterna.getParent() != area_trabalho) {
area_trabalho.add(janelaInterna);
}
this.janelaInterna.show();
area_trabalho.moveToFront(this.janelaInterna);
}else{
this.txtRazaoSocialCliente.setText(this.txtRazaoSocialCliente.getText().toUpperCase());
}
}
Quaisquer outras teclas entram e imprimem no console o "passou por aqui!.
Como resolver este problema sem perder a facilidade do ENTER funcionando como o TAB, o UP como o Shift + TAB ?