Substance, une librairie « hype » pour Swing

Mon dernier billet sur Swing pouvait paraître pessimiste puisque je parlais de cette API comme d’une API complexe et qui avait mal évolué avec notamment peu de frameworks autour.
« Peu » ne veut pas pour autant dire « aucun » et c’est justement l’occasion d’aborder Substance, une librairie bien sympathique créé par Kirill Grouchnikov.

A mon sens c’est l’une des librairies qui a le plus profité de la période 2006-2007 et des avancées matérialisées dans Aerith. Romain Guy, l’un des leaders sur Aerith, fait d’ailleurs partie des contributeurs de Substance pour ces précieux conseils.
Les effets de fading, les animations sur les boutons, les tables à couleurs alternées etc… voici des choses facilement abordables avec cette librairie. Attention, comme je l’évoquais dans mon billet « Swing or not Swing, that is the question« , il ne s’agit pas de nouvelles fonctionnalités de Swing mais de fonctionnalités existantes pour lesquelles la librairie propose des outils afin d’en faciliter l’usage.

Par exemple pour utiliser le fading lors de la surbrillange des éléments d’une liste :

JList list = ...; // create the list
FadeConfigurationManager.getInstance().allowFades(FadeKind.ROLLOVER, list);
FadeConfigurationManager.getInstance().allowFades(FadeKind.SELECTION, list);

Nettement plus simple que de le coder soi-même…

Pour voir un apercu de ce que cela peut donner une application est disponible via Java Webstart. Attention, à utiliser avec Java 6, c’est le prix de la modernité 😉

Je vous invite à jouer avec les options générales et notamment à cocher les options suivantes :

  • Focus loop
  • Icon glow
  • Icon rollover
  • Button press
  • Global fade events

Et observez le résultat sur les boutons à icône, tout simplement bluffant…

A cela ajoutez la prévisualisation des fenêtres minimisées, la notion de skin custom… et vous avez un framework que je ne saurais que trop vous conseiller.

Aperçu :

(attention, il est difficile de capturer l’essence d’une animation sur une image fixe, je vous invite à l’essayer par vous-mêmes)

Apercu de l’animation sur un bouton Prévisualisation d’une fenêtre minimisée
button preview

 

Une réflexion sur “Substance, une librairie « hype » pour Swing

  1. Pingback: Let’s Swing ! « Hakanai

Laisser un commentaire