# JFrame ohne Eintrag in der Taskleiste



## hdi (19. Nov 2008)

Hallo,

ich mach gerade einen Preloader für mein Spiel, der nur n kleines Pic anzeigt und eine Info darüber, was grad geladen wird. Einfach als Übergangsphase bis das richtige Spiel-Fenster erscheint, damit der User weiss, was da so lang (oder auch nicht lang) dauert.

Als ich vorhin Eclipse gestartet hab, ist mir aufgefallen dass bei deren Preloader (da kommt ja auch n Fenster unten mit ner ProgressBar und er lädt da auch alles) kein Eintrag unten in der Taskleiste ist, d.h. man kann diese Grafik auch nicht irgendwie minimieren oder sonst was.

Das find ich besser, weil ich zB keine Lust habe dass der User einfach per Rechtsklick auf den Eintrag unten in der Leiste meinen Preloader beenden kann xD ich meine das könnte ich auch anders verhindern ich weiss, aber trotzdem.

Kann man das irgendwie machen, ein JFrame ohne Eintrag in der Titelleiste? Oder  ist das ne andre Klasse, oder geht das überhaupt nicht?


----------



## Wildcard (19. Nov 2008)

JDialog oder JWindow. Bei Eclipse ist das übrigens anders, da Eclipse SWT basiert ist.
Für solche Fälle verwendet man allerdings eigentlich die Java 6 Funktionalität des SpashScreens.


----------



## hdi (19. Nov 2008)

Und wie verwende ich diese Splash Screen Funktionalität? Das scheint ja keine Klasse zu sein, die so heisst.


----------



## Wildcard (20. Nov 2008)

Die Kombination aus Java und Splashscreen selbst mal in Google einzugeben war wieder zu viel verlangt, oder?
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/splashscreen/


----------



## hdi (20. Nov 2008)

tut mir leid, manchmal fühlt man sich wie in so nem dialog und wenn der eine was sagt, antwortet man etwas... Ich habs dann aber auch bemerkt, hab auch genau die seite gefunden und schon durchgelesen.

ich hab jetzt nur eine sache nicht ganz verstanden.. wo genau finde ich die manifest-datei, in meinem projekt ordner gibts sowas nicht. und ohne diese anpassung startet die demo nicht, so ist es ja auch beschrieben. weiss nur nich wie ich sowas in meine jar-datei einbinde.. ich habs auch versucht mit dem parameter zu starten über eclipse, aber entweder ich mach da was falsch oder ich kriegs nicht hin mein bild in den richtigen ordner zu schieben...

wäre sehr nett wenn du mir da noch sagst, wie ich das mache, ich hab auch schon gesucht aber ich kriegs nicht hin leider..

und ich hab auch noch ne andere frage: wenn das ein "neues" feature von java 6 ist, wo/wie soll ich es abfangen wenn jetzt jemand mit java5 aufm pc mein spiel starten möchte? was passiert in dem fall? Stürtzt das ganze einfach ab?


----------



## hdi (24. Nov 2008)

Also..da hier scheinbar keiner mehr antwortet.. ich würde das echt gerne wissen xD

Ich hab mir das alles durchgelesen, aber ich kriegs nicht hin das Sun Beispiel zu starten, 
der SplashScreen ist immer == null.

Ich habs sowohl versucht bei eclipse das programm mit dem Parameter zu starten:

-splash:bild.jpg SplashScreenTest

als auch die andere variante, und zwar mit einem manifest file kompilieren:

Manifest-Version: 1.0
Main-Class: SplashScreenTest
SplashScreen-Image: bild.jpg

Allerdings weiss ich nicht, ob ich das mit dem Manifest richtig gemacht habe, denn irgendwie
hab ich bei google nix gefunden, wo man denn ein manifest file eig. reintut im projektordner...


----------



## Wildcard (24. Nov 2008)

Ein Manifest kommt ins jar


----------



## hdi (24. Nov 2008)

ach ok, ich dachte es langt wenn man es in den projekt ornder tut, ich wusste nicht dass man das beim exportieren explizit einbinden muss.

also das klappt jetzt als jar. allerdings ist es sehr umständlich, bei jeder kleinen änderung des splashscreens das ganze als jar zu exportieren, nur um es zu testen.

Und die andere Methode, die ich hier bräuchte, nämlich per Paramter übergeben, krieg ich noch immer nicht hin..

Ich mach Rechtsklick auf meine SplashScreenTest Klasse und sag "Set Run Configurations", und dann tu ich unter "Parameters" reinschreiben:

-splash somepig.jpg

Aber es geht nicht, SplashScreen == null... Die Bilddatei ist im src-Ordner, wie auch die SplashScreenTest.java

Was mach ich falsch?


----------



## Wildcard (25. Nov 2008)

Das ist kein Parameter, sondern ein VM Parameter. Unter Programm Arguments ist ein weiteres Feld VM Args, oder so.


----------



## hdi (25. Nov 2008)

Jo da hat ers mir auch automatisch reingepackt. Geht aber nicht... 
Vllt stimmt ja doch was nich mit dem Pfad des Bildes oder der Schreibweise oder kA...
Hier mal n Bild wie das bei mir aussieht:


----------



## Wildcard (25. Nov 2008)

Darunter steht 'Working Directory' das ist der Pfad auf den sich alle relativen Pfade beziehen.


----------



## hdi (25. Nov 2008)

Ja da ist "Default" angewählt, das ist:

${workspace_loc:examples}

Ich hab auch mal nicht Default genommen, sondern ein eigenes bei "Other" eingegeben, und zwar

${workspace_loc:examples/src}

Geht beides nicht...

edit: geht doch, das Bild war scheinbar nur nicht im richtigen Ordner. Das überfordert mich immer wieder, ich verstehe nich so ganz wie das is mit den Pfadangaben, also diesen relativen Pfaden... Naja danke nochmal

und NOCHMAL edit: Genau das gleiche geht jetz wieder NICHT, siehe Post unten...


----------



## hdi (6. Dez 2008)

So, funktioniert jetz wieder *nicht*  :x 

Ich check das nicht..

Ich hab alles wieder so gemacht wie in meinen 2 Posts über diesem hier, und es geht nicht. Genauso, 
wie es damals schon erst nicht ging, und dann durch Zauberhand auf einmal schon.
Kann es sein dass dieses Feature verbuggt ist? 

Ich hab mein Bild "splash.jpg" in meinem src-Ordner, bei den Parametern der VM schreib ich:

-splash:splash.jpg

und als working directory geb ich ihm den src-ordner meines projekts. Wieso geht das auf einmal nicht mehr?
Auch per Hand, also im Dosfenster durch:

java -splash:splash.jpg MeineKlasse

geht's nicht...

Mein SplashScreen ist immer "null", er kriegt das also nich hin. Warum geht das nicht, ich mach's doch genau so
wie in der API beschrieben, ich tu hier ne Stunde rum mit dem Schrott das gibt's doch nicht :/


----------

