JDK-4247839 : pop-up splash screen at beginning of Java startup
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 1.2.2,1.3.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_98,windows_nt
  • CPU: x86
  • Submitted: 1999-06-18
  • Updated: 2017-05-16
  • Resolved: 2005-06-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6 b40Fixed
This is an AWT peformance RFE for Kestrel.

Right now when a user double clicks on an icon to launch
a GUI Swing app, there is often a multi-second delay before
there is any visual feedback that the app is starting.
This tends to cause users to be confused.  People aren't sure
that they double-clicked correctly, or if anything is happening.

The problem is that we have to load the core pieces of the JVM,
awt, swing, etc., before we enter the application and it can start
painting pixels.

It would be good to provide faster GUI feedback to the user that
the application is starting.

One way to do that would be to push up a splash screen from the
"C" code at the start of the java and javaw commands, before we
load the JVM or any other such slow operations.

So we might provide a new flag "-splash" that takes an image file
as an argument and causes java/javaw to immediately pop up a
window with that image.  That will allows app developers to 
provide their own splash screen image for each app.

Issues include:
   How to we get rid of the spash screen?  We probably need to
   register it with awt.dll and then when the user app first
   calls "show" on a Windows we can pull down the splash screen.

   What image formats should we support?  GIF would be nice, but
   that might require us to pull in too much code, and the whole
   value of this trick is to be *fast*.  It would be good if we
   can use a format that will be easy to implement cross platfom.

   It's easy to get carried away.  It might be nice to allow
   animations or to allow at least ticker-tape messages at the
   bottom of the image.  But this will probably all get too
   complicated.  Let's keep the first version simple!

graham.hamilton@Eng 1999-06-18

EVALUATION Will commit to merlin. lara.bunni@Eng 1999-08-25 Unfortunately, we'll have to put this off for another release. ###@###.### 2001-11-28 This feature will be available in mustang. Decided to implement loading the splash screen image from command line (-splash:image), from MANIFEST.MF (SplashScreen-Image:image), and provide Java API for updating the splash screen from the application. JPEG, PNG and GIF images are supported, with animation and transparency. Command line usage example: java -splash:splash.gif MyApp Manifest usage example: Manifest-Version: 1.0 Main-Class: MyApp SplashScreen-Image: splash.gif The following Java API is available in java.awt package: public final class SplashScreen { public static SplashScreen getSplashScreen(); public void setImageURL(java.net.URL imageURL) throws NullPointerException; public java.net.URL getImageURL() throws IllegalStateException; public Rectangle getBounds() throws IllegalStateException; public Dimension getSize() throws IllegalStateException; public Graphics getGraphics() throws IllegalStateException; public void update() throws IllegalStateException; public void close() throws IllegalStateException; public boolean isVisible(); }; ###@###.### 2005-05-25 10:25:02 GMT