Pegar foco na janela ao fechar um internalFrame

Tenho um JDesktopPane onde tenho dois JIternalFrames abertos…
O problema é que preciso uma ação que quando eu fechar o segundo internalframe , o foco caia para o primeiro aberto como se fosse uma fila de internalFrames abertos tem como fazer isso?

Você pode pegar todos as janelas abertas do teu desktop pane da seguinte maneira

JDesktopPane jdp = new JDesktopPane(); jdp.getAllFrames();

não sei se o array mantém a ordem dos frames abertos, teria que ler a documentação ou fazer uns teste

Ok…Obrigado…questão resolvida…
e quando acontece o seguinte…
Tenho um frame principal que está aberto…nele possui um botão em que abro um JDialog… depois que fecho ele, a janela principal não fica selecionada…
Como faço para ela ficar selecionada?

Você pode instalar um Listener chamado: WindowListener implemente os métodos da classe as que você vai usar são as seguintes:
windowOpened e windowClosed.

Quando a janela for aberta dentro do método: Opened então você seta setFocused() para a instância da classe desejada;
e no Closed você diz pra setar setFocused() a outra janela antecessora.

OBS: crie um VO com um singleton para guardar as janelas que estão sendo utilizadas assim sempre saberar que chamou e se caso fechar pra onde deve ir o foco.

Espero ter ajudado.

Ah caso queira que o foco fique travado na última janela aberta setEnabel(false) para a antecessora assim você força o usuário primeiro interagir com a janela aberta e ao termino dela seta novamente true pra habilitar as funcionalidade da antecessora.