Boa Tarde pessoal,
Estou com o seguinte problema ao construir um JDialog e chamar o requestFocus() num JTextField, a tela é apresentada mais o focus não é setado no campo desejado. Procurei pelo forum e vi um topico antigo onde um usuário disse que existem BUG’s nesse requestFocus() e recomendou por esse código:
addHierarchyListener(new HierarchyListener() {
public void hierarchyChanged(HierarchyEvent e) {
if ((e.getChangeFlags() & HierarchyEvent.SHOWING_CHANGED) != 0) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if (isVisible()) {
txtCodigo.requestFocus();
}
}
});
}
}
});
Coloquei o código mencionado acima e realmente funcionou, mais não entendo pq o requestFocus() dado normalmente não funciona visando que em outros JDialog da minha aplicação ele funciona normalmente. Também tem um detalhe, o meu controle dos TAB nesse JDialog quando chega num Botão ele não sai mais de la mesmo eu pressionando o TAB novamente, ele praticamente fica travado nesse botão e o unico jeito de manuzear a aplicação fica sendo pelo Mouse. Alguem sabe o que pode ser isso ??
Obrigado