MovetoFront

Olá,
estou fazendo uma aplicação SWING onde eu tenho um JDesktopPane, que por sua vez possui JInternalFrames.
O problema que estou tendo é que, se eu tenho um JInternalFrame aberto e abrir outro, este outro fica atrás do que já está aberto, e eu quero que ele fique na frente.
Já tentei utilizar o método MovetoFront assim:

ClienteForm cli = new ClienteForm(); AreaTrabalho.add(cli); cli.show(); cli.moveToFront();

só que não deu certo… alguém sabe por que, ou alguma outra forma de fazer o JInternalFrame ficar na frente ao ser chamado??

Eu ja tive serios problemas com o DesktopPane nesse sentido.
Acho que vc pode conseguir isso tentando fazer isso:

                cli.setVisible(true);
                cli.moveToFront();
                AreaTrabalho.getDesktopManager().activateFrame(cli);

Agora, tem uma coisa que acho q deve ser um bug: quando vc der esses comandos ai em cima, vc tem q garantir que o seu JFrame que contem o DesktopPane está com foco e visivel: setVisible(true) antes de ativar o frame interno.

Achoq eh isso… Se achar mais alguma coisa do que eu falei :smiley: Posta ai … heheheheheh

Abraços!!!

eu faço apenas isso:

try 
{
       MeuJInternalFrame.setSelected(true);
}
catch (java.beans.PropertyVetoException exc) { }

o bloco try - catch é obrigatório.

[]s,

Fabrício.