Io direi che è meglio una JWindow invece di un JFrame e poi:
se è per bellezza fai come hai detto tu, ovviamente rallenterai di un certo offset l'avvio del programma.
se serve perchè il programma svolga le sue inizializzazioni (caricamneto dati) e sarebbe brutto lasciar attendere l'utente senza intrattenimento

: lancialo per primo e fai in modo che venga "disposato" (dispose()) quando il tuo programma è pronto a essere visualizzato.