jGoodies - par Romain Papuchon
Les librairies
JGoodies propose cinq librairies décrites ci-dessous :
Animation
La librairie Animation s'inspire des concepts et des notions de W3C SMIL (Synchnized Multimedia Integration Language).
SMIL permet de synchroniser un ensemble de documents multimédia différents (images, vidéos, sons, textes, ...) sur une même séquence vidéo. Le code est inséré dans un fichier XML, via les balises <smil></smil>.
La librairie Animation fonctionne sur le même principe mais, contrairement à SMIL, n'utilise pas de fichier XML. Elle repose entièrement sur le langage Java. Trois éléments caractérisent alors la librairie :
- attribut
- fonction
- durée
L'attribut est l'élément qui va varier dans le temps. La fonction permet de faire varier l'état de l'attribut (forme, couleur, ...) selon une durée. Par exemple, un rectangle pourra passer de 10 à 50 pixel en 10 secondes.
Binding
Cette librairie est probablement la plus complexe. Elle est assez complète et permet de connecter les objets métiers avec l'interface graphique (utilisation du Modèle Vue Controleur et les modèles de Swing).
Il n'y a pas beaucoup de documentation sur le site. Probablement pour que nous achetions la licence ! Je ne l'expliquerai pas ici ; voici néanmoins une présentation intéressante qui explique bien le principe http://www.jgoodies.com/articles/binding.pdf
Forms
A mes yeux, c'est la plus intéressante. Elle permet de créer facilement des formulaires en Swing. On utilise alors un layout propre à la librairie qui nous permet de faire ce que l'on veut très facilement et très rapidement.
C'est cette librairie que je souhaite vous présenter dans ce site. Elle est alors décrite dans la rubrique Librairie Forms
.
Looks
Cette librairie n'est pas vraiment une librairie! Elle regroupe un ensemble de looks and feels pour donner un aspect sympa à vos interfaces graphiques.
On peut alors changer le look, la police, la taille de la police, le menu et la barre de menu. On peut ajouter des effets 3D, changer les couleurs, ...
Validation
Cette librairie permet de mettre des contraintes sur des champs. Par exemple, on aimerait que l'utilisateur saisisse son numéro de carte bleue. Ce numéro comporte un nombre de champs fixe. Pour cela, on peut mettre une contrainte sur le champs qui permettra de n'afficher le bouton de validation seulement si tous les numéros sont saisis.
Cette fonctionnalité repose sur des tests unitaires, à l'aide des fonctions assert
.