Video: Java Tutorial ( How to make Animation in JavaFX ) 01 2024
Je kunt je JavaFX-applicaties verder brengen door eenvoudige animatie-effecten te gebruiken. De effecten zorgen er doorgaans voor dat uw toepassingen tot leven komen door objecten op het scherm te laten bewegen.
U kunt het uiterlijk van uw JavaFX-toepassingen aanzienlijk verbeteren door speciale effecten toe te passen, eigenschappenbindingen samen te voegen om uw besturingselementen responsiever te maken en geluid en media te gebruiken voor audio- en visuele interesse.
Probeer alsjeblieft niet je hoop te krijgen op het winnen van een Oscar voor Beste Animatie volgend jaar. Niemand zal voor de gek gehouden worden door te denken dat je met Pixar hebt samengewerkt aan je applicatie. Toch kunt u een aantal interessante whiz-bang toevoegen aan uw toepassingen met behulp van deze technieken.
Het basisidee van JavaFX-animaties is om de waarde van een of meer knooppunteigenschappen met regelmatige tussenpozen te manipuleren. Stel dat u een cirkel hebt die een bal vertegenwoordigt en u deze van de linkerkant van het scherm naar rechts wilt verplaatsen. Ervan uitgaande dat de breedte van het scherm 600 pixels is, zou je de cirkel animeren door de posX-eigenschap van 0 tot 600 te variëren.
Er zijn twee factoren die van invloed zijn op hoe snel de bal over het scherm beweegt: de hoeveelheid tijd die verstrijkt tussen elke wijziging in de eigenschap posX en de toename die u toevoegt aan de eigenschap posX op elk tijdsinterval.
Als u bijvoorbeeld op elk tijdsinterval 3 aan de posX-eigenschap toevoegt, duurt het 200 intervallen om 600 te bereiken (3 x 200 = 600). Als de intervallen elke 10 milliseconden (100 keer per seconde) optreden, duurt het 2, 000 milliseconden - 2 volledige seconden - voordat de bal het scherm van links naar rechts doorkruist.
Zonder JavaFX-animaties zou u de bewegende bal kunnen implementeren door het Java Timer-object te gebruiken om de bal met regelmatige tussenpozen te bewegen. De klasse Timer kan moeilijk zijn in te stellen en correct te gebruiken. De JavaFX-animatieklassen maken het animeren van uw knooppunten een veel eenvoudigere propositie.
JavaFX biedt twee basismanieren om animaties te maken - de harde manier en de gemakkelijke manier:
-
De harde manier vereist dat u timer-evenementen handmatig instelt, en schrijf vervolgens gebeurtenislisteners die worden opgeroepen wanneer de timergebeurtenissen optreden. In het geval van luisteraars, manipuleert u de eigenschappen van de knooppunten die u wilt animeren.
Als u bijvoorbeeld een bal over het scherm wilt verplaatsen, stelt u een timerinterval in dat elke 10 milliseconden wordt aangevinkt. Bij elk vinkje zou je de x-positie van de bal met 3 verhogen. Je zou dan de timer instellen om in totaal 200 keer te rennen om de bal te verplaatsen.
Voor het instellen van deze animatie moet u twee klassen gebruiken: Tijdlijn en KeyFrame en een ActionEvent-listener schrijven om de bal te verplaatsen.
-
De eenvoudige manier maakt gebruik van snelkoppelingsklassen die door JavaFX worden geboden om eenvoudig veelgebruikte soorten animaties te implementeren.
U kunt bijvoorbeeld de klasse TranslateTransition gebruiken om eenvoudig een cirkel van de ene kant van het scherm naar de andere over een bepaalde tijdsperiode te verplaatsen. U stelt zojuist een TranslateTransition in waarin u aangeeft dat u de x-positie van de bal in de loop van 2 seconden van 0 tot 600 wilt variëren. De TranslateTransition-klasse zorgt voor de details.