The Java Tutorials' Weblog
Changing the Java Web Start Splash Screen
Java applications that are launched with Java Web Start have a default splash screen that displays before your application is ready to run on your system. For JavaSE 6 Update 10, this splash screen looks like the following:

You can change this splash image to one with your own GIF, JPG, or PNG file. The first time Java Web Start launches your application you will see the default Java cup logo image. All subsequent launches will display your splash image.
Java Network Launch Protocol (JNLP)
All applications launched with Java Web Start technology have an associated
JNLP file (a file name with a .jnlp extension). You need to edit
this JNLP file and specify the image you want to use for your splash screen.
Essentially, you add one line to the <information>
element within your JNLP file:
<icon href="mysplash.jpg" kind="splash"/>
where the mysplash.jpg file is the image file you want to use
to replace the default splash image.
Note: For more information about JNLP, refer to the Java Web Start Developers Guide or the JNLP specification.
Here is an example JNLP file with this <icon> line added
to the <information> element:
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for ButtonDemo -->
<jnlp
spec="1.0+" codebase="http://java.sun.com/docs/books/tutorialJWS/uiswing/components" href="ButtonDemo.jnlp"> <information><title>ButtonDemo</title> <vendor>The Java(tm) Tutorial: Sun Microsystems, Inc.</vendor> <homepage href="http://java.sun.com/docs/books/tutorial/uiswing/examples/components/index.html#ButtonDemo"/> <icon href="mysplash.jpg" kind="splash"/> <description>ButtonDemo</description> <description kind="short">Demonstrates use of buttons within containers</description> <offline-allowed/></information> <resources><j2se version="1.6+"/> <jar href="ButtonDemo.jar"/></resources> <application-desc main-class="components.ButtonDemo"/>
</jnlp>
The JAR file with your application is stored on the web server in a location
specified by the codebase value in the JNLP file. The path you
specify for your splash image is relative to the codebase value.
So for example, in the JNLP file above, the file mysplash.jpg needs
to be stored in the directory specified by the codebase.
Try It Out
To see this in action, try this Java
programming language ButtonDemo. When you first launch it with Java Web
Start technology, the default Java cup logo splash screen displays on your screen
before the application appears on your desktop. When you launch the application
a second time, the image for the file mysplash.jpg will display
before the ButtonDemo application appears on your desktop.
-- Debra Scott
Posted at 03:31PM Aug 12, 2008 by The Java Tutorial Team | Comments[7]
Tuesday Aug 12, 2008
Debrah, I tried your ButtonDemo, but I never see the modified splash screen appear; I always get the Java Starting... splash. I now use JavaSE 6 update 03, but I have the feeling the Java version is not the reason why the modified splash does not show.
Kind regards, René
Posted by Rene van Oevelen on August 26, 2008 at 07:52 AM PDT #
The JWS splash screen sucks
It shows only a while and if application runs few minutes it's not visible.
Sun should really do sth about that issiu.
Posted by kris on December 10, 2008 at 02:18 AM PST #
I can only confirm that is does not work.
Posted by Horst on February 25, 2009 at 03:10 AM PST #
Can you explain what doesn't work for you? What errors are you seeing?
Are you even able to launch any JNLP type application on your system (never mind this here)? Maybe it is a jnlp/java configuration problem on your system.
I tried this again after 5 months away and a completely new laptop/OS. It works as described in this blog.
Posted by debbie scott on March 17, 2009 at 10:33 AM PDT #
This seems to work only in the cases where someone clicks a jnlp link on a web browser or locally saved jnlp - and then only during the second time around.
It does not work if you run the app offline, meaning:
After running the app at least once, if you run jcontrol (on linux not sure what it is in windows) -> Temporary internet files click view -> pick and run the Button Demo (you can create desktop short cuts with a right click).
Clicking on the desktop icon doesn't show the customised splash screen but the Java ... one.
Not sure if this is because it's running from the cache with the -localfile argument:
The local desktop icon code for gnome:
[Desktop Entry]
Version=1.0
Type=Application
Icon=/opt/jdk1.6.0_12/jre/lib/deploy/java-icon.ico
Comment=ButtonDemo
Terminal=false
Categories=Applications;ButtonDemo
Name=ButtonDemo
Exec=/opt/jdk1.6.0_12/jre/bin/javaws -localfile /home/bud/.java/deployment/cache/6.0/20/2ca5a014-1d8c43df
Encoding=UTF-8
Notice the undocumented javaws localfile argument ...
Posted by Buddhika on March 26, 2009 at 07:54 PM PDT #
I too see the same issue posted by Debbie Scott.
This was not an issue prior to 1.6.0-11, but appeared by update 13.
The splash screen does not appear from the automatically generated shortcut on the desktop, unless I remove the undocumented localfile flag.
Splash screen works if I launch from the JAVA Cache control panel applet.
Posted by Lyle on April 27, 2009 at 02:09 PM PDT #
so how do i show my splash screen from the desktop icon?
didn't get the answer
or how do I remove the undocumented localfile flag from the jnlp file?
Posted by doron on September 01, 2009 at 07:18 AM PDT #