Actuellement, pour utiliser Swing, on est en quelque sorte obligé de se faire son propre framework pour gérer toutes les tâches simples mais répétitives. Sun se propose d’implémenter pour la version 7 de Java un tel framework — un peu semblable à la VCL de Delphi — qui ne couvrirait sans doute pas tous les types d’utilisation de Swing, mais qui permettrait au moins d’en facilier l’accès aux néophites, et de simplifier considérablement le code pour les cas les plus courants.Ce framework, nommé Swing Application Framework, permettra de gérer:
-
- Le cycle de vie de l’application : une classe Application permettra de gérer le lancement, l’initialisation, et la fin de l’application.
-
- Les ressources : injection de ressources (images, couleurs, texte, etc) dans les composants par le biais d’un simple fichier de configuration (un « RessourceBundle ») qui les chargera automatiquement dans les propriétés adéquates des objects visuels
-
- Les actions : centralization de certaines informations qui peuvent être centralisées entre plusieurs composants visuels (l’état Enabled, texte, couleur de fond, événement associé, etc), par le biais d’une nouvelle annotation @Action. En gros, c’est à peu près l’équivalent du TActionList de Delphi.
-
- Les tâches : gestion simplifiée des threads, qui doivent être gérés explicitement avec Swing, et sont souvent mal gérés par les néophites.
-
- Les sessions : le maintien de l’état d’une application (tel que la taille des fenêtres, et certaines propriétés intéressantes des composants) après une première ouverture
Le présentateur nous a fait une démonstration intéressante du Swing Application Framework, dans son état actuel. Le code n’est pas encore ouvert au public, mais il devrait l’être d’ici la fin de l’année, et en principe, la version finale sera incluse dans Java 7.