# Splashscreen in Start-GUI einbinden



## GuteK88 (2. Dez 2012)

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)


```
*/
	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...


```
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


----------



## Fab1 (2. Dez 2012)

Willst du auf dem Frame irgendwas besonderes darstellen?

Oder warum nimmst du nicht einfach den "einfachen" Splash-Screen? 

Schau mal hier: java - How to set SplashScreen in Eclipse? - Stack Overflow


----------



## GuteK88 (2. Dez 2012)

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


----------



## Fab1 (2. Dez 2012)

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


```
-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.

```
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


----------



## L-ectron-X (2. Dez 2012)

Forumsuche?


----------

