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);
}
}
0 Response to “Playing with Google Guice: Splash Screens”