Vidéo: Présentation de la formation JavaFX 2024
Vous pouvez étendre vos applications JavaFX en y incorporant des effets d'animation simples. Les effets rendent généralement vos applications vivantes en permettant aux objets sur l'écran de se déplacer.
Vous pouvez améliorer considérablement l'aspect et la convivialité de vos applications JavaFX en appliquant des effets spéciaux, en incorporant des liaisons de propriétés pour rendre vos commandes plus réactives et en utilisant le son et les médias pour susciter l'intérêt visuel et visuel.
S'il vous plaît ne vous attendez pas à gagner un Oscar pour la meilleure animation l'année prochaine. Personne ne sera trompé en pensant que vous avez collaboré avec Pixar sur votre application. Pourtant, vous pouvez ajouter un peu de whiz-bang intéressant à vos applications en utilisant ces techniques.
L'idée de base des animations JavaFX est de manipuler la valeur d'une ou de plusieurs propriétés de nœud à intervalles réguliers. Par exemple, supposons que vous ayez un cercle qui représente une boule et que vous souhaitiez la déplacer du côté gauche de l'écran vers la droite. En supposant que la largeur de l'écran est de 600 pixels, vous pouvez animer le cercle en faisant varier sa propriété posX de 0 à 600.
Deux facteurs influent sur la vitesse à laquelle la balle se déplace sur l'écran: la durée qui s'écoule entre chaque modification de la propriété posX et l'incrément que vous ajoutez à la propriété posX à chaque intervalle de temps.
Par exemple, si vous ajoutez 3 à la propriété posX à chaque intervalle de temps, il faudra 200 intervalles pour atteindre 600 (3 x 200 = 600). Si les intervalles se produisent toutes les 10 millisecondes (100 fois par seconde), il faudra 2 000 millisecondes - 2 secondes complètes - pour que la balle traverse l'écran de gauche à droite.
Sans animations JavaFX, vous pouvez implémenter la balle en mouvement en utilisant l'objet Java Timer pour déplacer la balle à intervalles réguliers. La classe Timer peut être difficile à configurer et à utiliser correctement. Les classes d'animation JavaFX rendent l'animation de vos nœuds beaucoup plus simple.
JavaFX fournit deux méthodes de base pour créer des animations - la manière dure et la manière simple:
-
La manière dure exige que vous configuriez manuellement les événements minuterie, puis écrivez les écouteurs d'événement qui sont appelés lorsque les événements de temporisation se produisent. Dans les écouteurs d'événements, vous manipulez les propriétés des nœuds que vous souhaitez animer.
Par exemple, pour déplacer une balle sur l'écran, vous devez définir un intervalle de minuteur qui se déclenche toutes les 10 millisecondes. À chaque tick, vous augmentez la position x de la balle de 3. Vous devez ensuite régler le chronomètre pour courir un total de 200 fois pour déplacer la balle.
La configuration de cette animation nécessite que vous utilisiez deux classes: Timeline et KeyFrame, et que vous écriviez un écouteur ActionEvent pour déplacer la balle.
-
La facilité tire parti des classes de raccourcis fournies par JavaFX pour implémenter facilement des types d'animations courants.
Par exemple, vous pouvez utiliser la classe TranslateTransition pour déplacer facilement un cercle d'un côté de l'écran à l'autre sur une période donnée. Vous venez de mettre en place un TranslateTransition spécifiant que vous voulez faire varier la position x de la balle de 0 à 600 sur une période de 2 secondes. La classe TranslateTransition s'occupera des détails.