Wie lässt sich ein Splashscreen erzeugen?v.6.0
Im Beispiel wird ein einfacher leerer JFrame
erzeugt,
der nach Schließen des Splashscreens sichtbar wird. Hierzu
werden im Konstruktor zunächst die üblichen
Frame-Eigenschaften, das Verhalten beim Beenden, seine
Größe, die Position auf dem Bildschirm und sein Titel
festgelegt.
Im darauf folgenden Thread wird die eigentliche
Splashscreen-Steuerung durchgeführt. Er wird als Objekt vom Typ
SplashScreen
erzeugt. Die Pausierung des Threads
für eine vorgegebene Zeit sorgt dafür, dass der
Splashscreen solange angezeigt und ansschließend geschlossen
wird. In der Folge wird das Hauptfenster sichtbar gesetzt.
import java.awt.SplashScreen;
import javax.swing.JFrame;
public class Splashscreen {
private static final int SHOW_FOR = 3000;
public Splashscreen() {
JFrame frame = new JFrame("Splash-Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 400);
frame.setLocationRelativeTo(null);
Thread t = new Thread() {
public void run() {
SplashScreen splash = SplashScreen.getSplashScreen();
if (splash == null) {
System.err
.println("SplashScreen kann nicht erzeugt werden.");
return;
}
try {
Thread.sleep(SHOW_FOR);
} catch (InterruptedException e) {
System.err.println("Thread unterbrochen");
}
splash.close();
frame.setVisible(true);
}
};
t.start();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new Splashscreen());
}
}
Das Anzeigen des Splashscreens erfolgt auf verschiedene Weise,
abhängig von der Art und Weise des Programmstarts.
Als
Dateitypen sind *.jpg, *.gif
und *.png
erlaubt.
- Die gängigste Form ist wohl der Start einer
*.jar
. Hier muss die gewünschte Image-Datei dem Archiv hinzugefügt werden und im Manifest die folgende Zeile eingetragen werden:
SplashScreen-Image:<Pfad-zur-Imagedatei>
- Wird das Programm aus der Kommandozeile heraus als
*.class
gestartet, so wird der Aufruf des Splashscreens als VM-Parameter mitgegeben:
java -splash:<Pfad-zur-Imagedatei> <programmname>
- Während der Entwicklungsarbeit mit Eclipse muss der
VM-Parameter in den Run/Debug-Settings der Klasse
eingetragen werden. Hierzu ruft man über einen Rechtsklick auf
die Klasse im Package-Explorer die Properties und
dort die Run/Debug-Settings auf. Im sich öffnenden
Fenster wird der Name der Launch Configuration angezeigt,
die nach Auswahl über einen Klick auf Edit bearbeitet
werden kann. Unter dem Reiter (x)=Arguments kann unter VM Arguments
java -splash:<Pfad-zur-Imagedatei>
eingetragen werden. Sinnvoll ist es hierbei die Bilddatei unterhalb vonsrc
zu platzieren, sodass die Pfadangabesrc/Pfad-zur-Imagedatei
lauten muss.
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.