Video: How to link one JFrame to another JFrame in Java Swing 2025
Du kan tage dine JavaFX-applikationer videre ved at indarbejde simple animationseffekter. Virkningerne får i almindelighed dine applikationer til at blive levende ved at aktivere objekter på skærmen til at bevæge sig.
Du kan gå langt i retning af at forbedre udseendet af dine JavaFX-applikationer ved at anvende specielle effekter, der indeholder ejendomsbindinger, der gør dine betjeninger mere lydhøre og bruger lyd og medier til at give lyd og visuel interesse.
Venligst ikke få dine forhåbninger på at vinde en Oscar for Best Animation næste år. Ingen vil narre til at tro at du har samarbejdet med Pixar på din ansøgning. Stadig kan du tilføje nogle interessante whiz-bang til dine applikationer ved hjælp af disse teknikker.
Den grundlæggende ide om JavaFX-animationer er at manipulere værdien af en eller flere nodeegenskaber med jævne mellemrum. Antag for eksempel, at du har en cirkel, der repræsenterer en bold, og du vil flytte den fra venstre side af skærmen til højre. Hvis du antager, at skærmens bredde er 600 pixels, vil du animere cirklen ved at ændre sin posX-egenskab fra 0 til 600.
To faktorer vil påvirke, hvor hurtigt kuglen bevæger sig på tværs af skærmen: hvor lang tid der går mellem hver ændring i posX-ejendommen og det trin du tilføjer til posX-ejendommen ved hvert tidsinterval.
Hvis du f.eks. Tilføjer 3 til posX-ejendommen ved hvert tidsinterval, tager det 200 intervaller for at komme til 600 (3 x 200 = 600). Hvis intervallerne forekommer hver 10 millisekunder (100 gange pr. Sekund), tager det 2.000 millisekunder - 2 fulde sekunder - for kuglen til at krydse skærmen fra venstre mod højre.
Uden JavaFX-animationer kan du implementere den bevægende bold ved at bruge Java Timer-objektet til at flytte bolden med jævne mellemrum. Timer klassen kan være svært at oprette og bruge korrekt. JavaFX animationsklasserne gør animering af dine noder et meget enklere proposition.
JavaFX giver to grundlæggende måder at oprette animationer på: hard way og nem måde:
-
Den hårde måde kræver, at du konfigurerer timerbegivenheder manuelt, og skriv derefter hændelseslyttere, der kaldes, når timeren hændelser opstår. I tilfælde af lyttere manipulerer du egenskaberne af de noder, du vil animere.
Hvis du f.eks. Flytter en bold over skærmen, skal du indstille et tidsinterval, der markerer hver 10 millisekunder. Ved hvert kryds vil du øge kuglens x-position med 3. Du vil derefter indstille timeren til at køre i alt 200 gange for at flytte bolden.
Hvis du konfigurerer denne animation, skal du bruge to klasser: Tidslinje og KeyFrame, og at du skriver en ActionEvent-lytter til at flytte bolden.
-
Den nemme måde udnytter genvejstimer fra JavaFX til nemt at implementere almindelige typer animationer.
Du kan f.eks. Bruge TranslateTransition-klassen til nemt at flytte en cirkel fra den ene side af skærmen til den anden over en bestemt periode. Du har lige oprettet en TranslateTransition, der angiver, at du vil variere boldens x-position fra 0 til 600 i løbet af 2 sekunder. Oversættelsesklassen tager sig af detaljerne.