The previous entry showed the creation of a (very) simple single frame application. Splash screens are common, so lets add one. Since there’s no easy way to do it for all occasions, we’ll use a Guice module to provide it for runtimes prior to Java 6.
public static void main(String[] args) { URL splashImage = Main.class.getResource("/images/splash.png"); // create the splash module for pre Java 6 runtimes. Module splashModule = Java5SplashScreenModule(splashImage); Launcher.launch(MyApplication.class, args, splashModule); }
And that’s it. The framework will display the splash screen and all will work fine. Of course if you’re running on Java 6 you’d used the Java 6 version (that uses the new SplashScreen functionality). Of course if we don’t define the service in one of our modules, the framework uses the default `NullSplashScreenService`.
If MyApplicationFrame (or any other class for that matter) wanted to use the splash screen service, it just needs to inject it into it’s constructor.
public class MyApplicationFrame extends JFrame { @Inject public MyApplicationFrame(SplashScreenService splashService) { // do stuff.... splashService.setImageURL(nextImageURL); } }