Odelia>Technologies

Treemaps circulaires animées avec Groovy, Grails et JavaFX

| | |

Dans le prolongement de la démonstration sur la génération d'images de treemaps circulaires encore en ligne ici dans notre application web GrailsBox, nous vous proposons une nouvelle démonstration utilisant le récent framework RIA JavaFX !

Grâce à JavaFX, nous avons introduit de l'interactivité : il est maintenant possible d'explorer le treemap, simplement en maximisant le cercle sélectionné, ou bien son parent, ce qui offre une certaine forme de navigation ; il y a également deux autres types d'informations visuelles liés au déplacement du curseur de la souris au travers d'un cercle : l'utilisation d'info bulles et l'apparition d'un effet graphique temporaire entourant le cercle lorsque que le curseur pénètre dans un cercle.

Comme précédemment, vous devez tout d'abord renseigner les données qui définiront le treemap à animer, dans une zone de texte de cette page.
Pour cela, vous pouvez partir de l'exemple de définition de treemap donnée par défaut, et qui est au format JSON.
Un cercle est décrit entre accolades, avec les attributs suivants : un texte servant de libellé (text, qui n'est pas obligatoire), éventuellement un rayon (radius, nécessaire pour les cercles les plus imbriqués ; voir plus bas), et une couleur (color) au format HTML (par exemple #12ff56).

Pour animer le treemap, cliquez ensuite sur le bouton Treemap qui vous redirigera vers une nouvelle page contenant l'applet JavaFX chargée d'animer le treemap.

Dans cette démonstration, quel est la part de Grails ? Et celle de Groovy ?
Celle de Grails, vis à vis de l'application JavaFX, est simplement de lui fournir, au travers d'une URL, la définition du treemap au format JSON saisie par l'utilisateur (cette URL est passée en paramètre à l'applet JavaFX).
Celle de Groovy prend la forme d'une librairie dont les classes sont utilisées à partir du code JavaFX, ce qui comprend l'implémentation de l'algorithme Circle Packing. Ainsi, le code JavaFX a été surtout réservé à la partie présentation.

balises dans Langages et systèmes

AJAX cajo Camel DSL Grails Groovy GSP Java JBI RSS ServiceMix SOA