Allora... JInternalFrame possiede un metodo apposito "setSelected()" che permette, appunto, di impostare la selezione del JInternalFrame.
Va effettuata all'interno di un blocco try/catch perchè può sollevare un'eccezione.
E questo metodo funziona sempre (almeno, sia con L&F standard, che L&F di sistema):
codice:
// Creo il JInternalFrame
Login log=new Login(this);
// Lo aggiungo al JDesktopPane
dframe.getDesktop().add(log)
// Lo seleziono (quindi, diventa attivo e prende il focus)
try {
log.setSelected( true );
} catch (Exception e) { e.printStackTrace(); }
Ciao.