Utiliser le projet Undecorator dans une vue GroovyFX
Undecorator est un projet intéressant pouvant donner une allure plus attrayante et moderne à vos applications JavaFX ; plus précisément, il donne un look particulier à l'objet Stage
de votre application, qui est le conteneur de plus haut niveau, en le débarrassant des décorations qui rappellent sur quel système l'on est.Mais de plus, Undecorate ajoute ses propres icônes, un menu système, et la possibilité glisser/déplacer l'application au moyen de la souris, et plus encore.
Une des manières d'intégrer Undecorator dans une application JavaFX est de passer par la création d'une instance de UndecoratorScene
qui est une sous-classe de javax.scene.Scene
. Pour cela, vous devez bien sûr utiliser la librairie Undecorator.jar
, qui contient classes et ressources graphiques, ainsi que des fichiers CSS.
Mais comment intégrer Undecorator dans une application JavaFX qui a recourt au projet GroovyFX et à son puissant builder SceneGraphBuilder
?
Le builder SceneGraphBuilder
implémente le DSL de GroovyFX dans le but de construire des vues JavaFX de manière plus concise et claire. Son implémentation repose sur la classe FactoryBuilderSupport
, dont nous allons pouvoir tirer partie.
En effet, nous pouvons enregistrer notre propre classe pour, dans notre cas, fabriquer un objet Scene qui soit de type insidefx.undecorator.UndecoratorScene
, lorsque l'on rencontre un noeud scene
. La classe UndecoratedSceneFactory
, dont le code source est en fichier attaché à cet article, étend la classe groovyx.javafx.factory.SceneFactory
; cette factory est enregistrée dans l'objet SceneGraphBuilder
juste avant la construction de la vue, comme illustré dans le code ci-dessous :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|