PDA

View Full Version : [JAVA] Splash screen at GUI startup


fbcyborg
20-07-2005, 17:12
Come dice l'oggetto del topic, avrei bisogno di inserire una splash screen prima di mostrare la finestra principale della mia GUI.
Immagino di dover creare un frame, e alla partenza della mia applicazione far eseguire quest'ultimo, per 3-4 secondi, per poi avviare il programma.
consigli???

Alvaro Vitali
20-07-2005, 17:30
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 :D : lancialo per primo e fai in modo che venga "disposato" (dispose()) quando il tuo programma è pronto a essere visualizzato.

beppegrillo
20-07-2005, 18:26
usa i thread.

Alvaro Vitali
20-07-2005, 18:38
Non è strettamente necessario usare i thread in quanto lo splash screen non interferisce col programma in quanto è il programma stesso che lo visualizza, ne cambia ogni tanto una label e lo chiude, diciamo che non utilizzano concorrentemente la cpu...

- Visualizza splash (dopo la visualizzazione lo splash non fa nulla e non richiede la cpu)
- il programma parte e ad esempio carica le opzioni
- cambia una label sullo splash che dice : "loading options"
- il programma ha fatto tutto ed è pronto a visualizzare il JFrame principale
- cambia la label sullo splash che ora sarà : "all done now start"
- dispose() dello splash
- setVisible(true) del JFrame principale

Ovviamente si può fare anche con un thread.. ma anche senza insomma :D