Splashscreen in Start-GUI einbinden

G

GuteK88

Gast
Hallo Leute, ich hoffe ihr könnt mir weiterhelfen,

Ich habe eine Klasse Splashscreen, in der ich eben diesen definiert habe. Jetzt will ich in der eigentlichen GUI zuerst den Splashscreen anzeigen lassen und dann das eigentliche Programm(Frame)

Code:
 */
	public static void main(String[] args) {
		
		
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Thread splashThread = new Thread(new SplashScreen());
		                        splashThread.start();
					Start1 frame = new Start1();	
					frame.setVisible(true);
					
					
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});

So startet der Splashscreen UND der Frame gemeinsam, der SplashScreen verschwindet dann nach 3 Sekunden wieder...

Nun hab ich folgendes versucht, aber irgendwie haut das auch nicht hin...

Code:
Thread splashThread = new Thread(new SplashScreen());
splashThread.start();
if(splashThread.isAlive()==false{
Start1 frame = new Start1();	
frame.setVisible(true);
}


Könnt ihr mir einen Tip geben, wie ich zuerst den SplashScreen und danach die eigentliche GUI anzeigen kann?

mfg
 
G

GuteK88

Gast
Ich wollte damit eigtl nur ein Bild für 3 Sekunden anzeigen, bevor mein eigentliches Programm startet
 

Fab1

Top Contributor
In Eclipse würde es reichen, wenn du der VM als Argument folgendes übergibst:

Code:
-splash:src/resource/m.jpg

In diesem Fall wäre das Bild im Ordner src/resource

Und die Anzeigedauer, kann man so verlängern. Aber wie bereits im Code vermerkt, ist das nicht schön.
Java:
public static void main(String[] args) {
		
		try {
			Thread.sleep(3000); 		// Damit man den SplashScreen länger sieht. (sollte man nicht so machen)
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
// weiterer Code

Wenn man direkt nach der main Methode den Thread schlafen lässt, dann wird das Bild länger angezeigt, da das Bild erst verschwindet, wenn das Fenster zum Beispiel geladen ist. Naja weist schon was ich mein ;)
 

Neue Themen


Oben