Foco dos JFrames

Boa noite!
Estou tendo um pouco de trabalho ao manipular as frames em foco.

No programa em questão, exite um JFrame principal, encarregado de carregar diversos outros JFrames, este frame principal é static final, e os outros frames são instanciados.

Sempre que preciso fechar uma Frame pela programação (ou seja, fechar a janela sem a intervenção do usuário), usando dispose(), setVisible(false) ou hide(), se esta JFrame estiver em foco, ao fechar, o foco volta para o JFrame principal (static final), um ALT+TAB resolve o problema, mas quero que o foco volte para o frame anterior.

Obrigado.

Problema resolvido de uma forma diferente.

O que acontecia é que, quando fosse necessário o login, as janelas vinculadas ao login eram travadas (setEnabled(false)), ao efetuar o login, a janela era fechada e reiniciada (login.dispose(), login = new login()) e depois as outras janelas eram destravadas.
O problema estava nisso pois, ao fechar a janela de login, a VM automaticamente procura a ultima janela para focar, como as outras estavam travadas (isEnabled() == false) ele procurava a proxima janela destravada (isEnabled() == true).
Solução foi fechar a janela de login apenas depois das outras janelas estarem destravadas.

Obrigado.