# SplashScreen im laufenden Programm



## Tallan (12. Nov 2009)

Hallo zusammen,

ich würde gerne den Nutzer des Programms darüber informieren das das Programm grade Arbeitet.
Hierzu würde ich gerne ein loading.gif anzeigen ohne fenstermanager.

z.B. soetwas 
http://assetplatform.org/apwebsite/Images/ajax-loader.gif

Hierbei hätte ich gerne das der User während das Bild angezeigt wird nicht auf der GUI arbeiten kann.

Mein Ansatz war einen SplashScreen zu nutzen



```
public void startLoader()
	{
		
		java.awt.SplashScreen splash = SplashScreen.getSplashScreen();
        if (splash == null) 
        {
            System.out.println("SplashScreen.getSplashScreen() returned null");
            return;
        }
        Graphics2D g = splash.createGraphics();
        if (g == null) 
        {
            System.out.println("g is null");
            return;
        }

        try 
        {
            Thread.sleep(10000);
        }
        catch(InterruptedException e)
        {
        	
        }
	}
```

Diesen Loader wollte ich dann zum testen beim drücken eines Knopfs starten.

Ergebnis ist allerdings das der SplashScreen direkt bei Porgrammstart erscheint, obwohl er garnicht aufgerufen wird. Wenn ich den Button Drücke wird "SplashScreen.getSplashScreen() returned null" ausgegeben ( Funktioniert allerdings beim Start des Programms korrekt ).

Das gif ist beim Compilieren der .jar Datei eingebunden per "SplashScreen-Image: loader.gif" in der Manifestdatei.

Ich bin mir auch nicht sicher ob der SplashScreen der richtige Ansatz für mein vorhaben ist.

Hat jemand eine Idee ob es eine bessere alternative gibt oder warum besagtes "Problem" besteht.


----------



## KrokoDiehl (12. Nov 2009)

Schau mal diesen Thread, wo es um eine GlassPane geht, die die GUI sperrt. Das ist sicher auch eine hübsche Lösung.
Ansonsten kannst du mal mit modalen Fenstern die ein Bild anzeigen herumspielen.


----------



## Tallan (12. Nov 2009)

KrokoDiehl hat gesagt.:


> Schau mal diesen Thread, wo es um eine GlassPane geht, die die GUI sperrt. Das ist sicher auch eine hübsche Lösung.
> Ansonsten kannst du mal mit modalen Fenstern die ein Bild anzeigen herumspielen.



Ich dachte da eher an eine art Transparenten JDialog damit kann man ja verhindern das der User eingaben macht bis dieser beendet wurde. Hier müsste dann natürlich der Fenstermanager weg und nur das gif dargestellt werden.

Ich kann mir aber kaum vorstellen das es sowas nicht schon gibt..


----------

