Eclipse Splash Screen in Runnable JAR file

Wang

Bekanntes Mitglied
Hallo,

ich schaffe es einfach nicht, dass über die ausführbare JAR-Datei der Splash Screen angezeigt wird (der ab Java 6, KEIN selbstgeschriebener).
Ich habe eine Manifest-Datei im src-Verzeichnis (nach dem Beispiel hier am Ende: How to Create a Splash Screen (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Other Swing Features)) angelegt und das Bild dort gespeichert, aber es erscheint kein Splash Screen. Seltsamerweise gibt es im Export-Assistenten von Eclipse nur bei einer herkömmlichen JAR-Datei die Möglichkeit, die Manifest-Datei zu spezifizieren, nicht aber bei einer 'Runnable JAR file'...

Kennt jemand eine Lösung?

Thanks!

Gruß
Wang
 
G

Gast2

Gast
Ist das Bild den auch im jar mit drin? Schon mal ins jar reingeschaut?

Normalerweise musst du auch kein runnable jar ausführen, es reicht export--> jar alle benötigten ressourcen anhaken, manifest angeben, fertig
 

Wang

Bekanntes Mitglied
Jo das Bild war drinnen.

Ich habe das Problem jetzt endlich lösen können. Um die Lösung mal zu verewigen ( ;) ):
Ich habe zunächst wie gewohnt eine 'Runnable JAR' mit Eclipse exportiert (damit die doch etwas umfangreiche Manifest-Datei automatisch generiert wird), ohne irgendwelche Manifest-Dateien selber zu schreiben. Dann habe ich das Archiv mit WinRAR geöffnet und im Manifest-Ordner die Datei 'MANIFEST.MF' geöffnet, dann den Eintrag "SplashScreen-Image: splash_logo.png" (wichtig: ohne vorherigen Slash) gleich unter die Zeile "Main-Class: ..." eingefügt, abgespeichert und mit WinRAR als ZIP/JAR alles neu verpackt.
Jetzt wird der Splash Screen endlich angezeigt.

Noch eine Frage: ich habe jetzt nirgends die close()-Methode aus der Klasse java.awt.SplashScreen verwendet und der Splash Screen verschwindet trotzdem so wie er soll, sobald das Programmfenster erscheint. Kann man das so lassen oder sollte man doch besser close() verwenden?

P.S. Die Bitte ums Verschieben in den richtigen Bereich ist noch aktuell. ;)
 
G

Gast2

Gast
Und damit bist du jetzt zufrieden, diese Schritte willst du jedes mal vonHand ausführen???

Speicher dir dein Manifest ab und lass die Zeile gleich drin dann musst es nicht immer von hand anpassen noch besser benutze maven oder ant zum jar bauen
 
G

Gast2

Gast
Das ist leider komplettes Neuland für mich. Wenn die Zeit noch reicht, arbeite ich mich in diese Thematik ein. Im Moment bin ich nur froh, eine Lösung gefunden zu haben (auch wenn das die "Brecheisen-Methode" ist). ;)

Dann nimmt dein Manifest und speicher es in deinem projekt und mach export jar wie oben beschrieben...
 

Wang

Bekanntes Mitglied
Jo. ;)

Wäre cool wenn du noch auf die eine Frage oben eingehen könntest:

Noch eine Frage: ich habe jetzt nirgends die close()-Methode aus der Klasse java.awt.SplashScreen verwendet und der Splash Screen verschwindet trotzdem so wie er soll, sobald das Programmfenster erscheint. Kann man das so lassen oder sollte man doch besser close() verwenden?
 

Wang

Bekanntes Mitglied
Hat sich erledigt: in der Beschreibung für die Methode
Code:
isVisible()
steht:

Determines whether the splash screen is visible. The splash screen may be hidden using
Code:
close()
, it is also hidden automatically when the first AWT/Swing window is made visible.
 

Ähnliche Java Themen

Neue Themen


Oben