Problema requestFocus

Bom dia galera!

Seguinte…

Tenho um frame (wizard) que possui botoes de “Proximo” e “Anterior” e conforme os passos vou adicionando JPanels
conforme cada passo dinamicamente.
E quando chamo esses panels eu dou um requestFocus no primeiro TextField de cada um deles, para facilitar para o cara
nao precisar usar o teclado.
O problema eh que em determinadas situacoes o requestFocus funciona e outras ele nao funciona. Ele passa pelo requestFocus e
nao ganha foco. Ai que vem o detalhe, mas se eu der ALT TAB e sair da tela e voltar ele manda o focu para o componente.
Da impressao que ele se perde na Thread.
Tentei ja chamar repaint, updateUI…
Procurei tambem em foruns e google e achei varias pessoas com o mesmo problema…
achei ate uma ‘Solucao’, soh que funciona em alguns casos e outros nao.

E eh a seguinte:

      SwingUtilities.invokeLater(new Runnable() {
        public void run() {
          if (pComponent instanceof JTextComponent) {
            ((JTextComponent) pComponent).requestFocusInWindow();
          }      
        }
      });

Assim ele força a disparar uma nova thread soh para o focu… mas como eu disse ainda tem alguns casos que nao funciona.
Alguem ja passou por algo parecido ou sabe como contornar isso?

Grato desde já!
Luiz