OtrosLogViewerでは、 MANIFEST.MFで定義された最初のスプラッシュ スクリーンを表示します。アプリケーションの読み込み中に、読み込みの進行状況に応じて新しいスプラッシュ スクリーンをレンダリングします。OtrosSplah.javaは render メソッドを呼び出してスプラッシュを再描画しています:
private static void render() {
SplashScreen splashScreen = SplashScreen.getSplashScreen();
if (splashScreen == null) {
return;
}
Graphics2D g = splashScreen.createGraphics();
if (g == null) {
return;
}
if (version == null) {
try {
version = VersionUtil.getRunningVersion();
} catch (IOException e) {
version = "?";
}
version = "Version: " + version;
}
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setComposite(AlphaComposite.Clear);
Rectangle bounds = splashScreen.getBounds();
g.fillRect(0, 0, bounds.width, bounds.height);
g.setPaintMode();
g.setColor(Color.BLACK);
g.setFont(g.getFont().deriveFont(14f));
g.drawString(message, 20, 110);
g.drawString(version, 20, 130);
splashScreen.update();
}
同じことができます。MANIFEST.MF から最初のスプラッシュ スクリーンを表示し、後で新しいスプラッシュ スクリーンを描画します。