juin
2006
Sun prépare le retour de Java pour les applications ‘Desktop’, et Mustang, la prochaine version de Java, apportera son lot de nouveautés pour Swing.
Un article sur java.sun.com présente en détail une des ces petites nouveautés qui peut sembler mineure à première vue : les Splash-Screen. Ce type d’écran est très répandu dans tout type de logiciels pour faire patienter l’utilisateur pendant le chargement de l’application, tout en affichant des informations utiles (logo, version du logiciel, licence, etc…).
Même si ce ‘composant’ ne faisait pas partie intégrante de l’API Java, il est très simple d’en créer soi-même… D’ailleurs les pages sources Java proposent deux implémentations : JWindow : SplashScreen et SplashScreen.
Pourtant ce procédé est assez peu utilisé dans les applications Java car il ne remplit son rôle qu’à moitié. En effet, pour afficher un Splah-Screen, il faut que la machine virtuelle et les composants graphiques (Swing et/ou AWT) soient chargés et initialisés. Donc le Splah-Screen ne s’affiche qu’après un certain temps de chargement, ce qui semble retarder encore un peu plus le temps de démarrage de l’application…
Mustang propose une solution toute simple pour pallier à cela. Il suffit de spécifier le fichier image (GIF, JPEG ou PNG) à afficher en tant que Splah-Screen, soit en utilisant un paramètre de java :
java -splash:filename.gif monpackage.MonAppli
Soit en utilisant le fichier Manifest de l’archive jar :
Manifest-Version: 1.0 Main-Class: monpackage.MonAppli SplashScreen-Image: filename.gif
Cette image sera affichée avant le chargement de la machine virtuelle, et elle sera automatiquement fermée dès que la première fenêtre Swing ou AWT sera affichée. Il est toutefois possible de modifier dynamiquement cette Splah-Screen une fois la JVM chargé en utilisant le singleton java.awt.SplashScreen.
Il y a donc de fortes chances que les Splash-Screen soit monnaie courante avec Mustang…
3 Commentaires + Ajouter un commentaire
Tutoriels
Discussions
- Recuperation du nom des parametres
- [REFLEXION] Connaitre toutes les classes qui implémentent une interface
- Classes, méthodes private
- [ fuite ] memoire
- jre 1.5, tomcat 6.0 et multi processeurs
- Possibilité d'accéder au type générique en runtime
- Définition exacte de @Override
- Difference de performances Unix/Windows d'un programme?
- L'apparition du mot-clé const est-il prévu dans une version à venir du JDK?
j’imagine dans 10 ans avec un langage managé de 5 eme génération, (c’est-à-dire que la machine virtuelle tournera dans une machine virtuelle elle meme tournant sur un os virtualisé qui tournera sur un Os bas niveau tournant dans une application de gestion du processeur), ou pourra avoir des splash films (payants bien sur et « DRM isés ») … vive le progrès o/
sur les langages dotnet et java le premier chargement de l’applis peut prendre plusieurs secondes, le splash screen devient vite indispensable :p
pratique ca ! bon, moi perso, les splashscreens j’aime pas, mais bon : pratique