Vídeo: JavaFX para iniciantes - #05 - Button e Label, entendendo a dinâmica 2024
Você pode levar suas aplicações JavaFX ainda mais incorporando efeitos de animação simples. Os efeitos geralmente tornam suas aplicações ativadas ao permitir que os objetos na tela se movam.
Você pode percorrer um longo caminho para melhorar a aparência e a sensação de suas aplicações JavaFX, aplicando efeitos especiais, incorporando ligações de propriedades para tornar seus controles mais responsivos e usando som e mídia para fornecer interesse visual e de áudio.
Por favor, não tenha esperanças de ganhar um Oscar de Melhor Animação no próximo ano. Ninguém será enganado ao pensar que você colaborou com a Pixar em sua aplicação. Ainda assim, você pode adicionar algum whiz-bang interessante às suas aplicações usando essas técnicas.
A idéia básica das animações JavaFX é manipular o valor de uma ou mais propriedades do nó em intervalos regulares. Por exemplo, suponha que você tenha um círculo que represente uma bola e você deseja movê-la do lado esquerdo da tela à direita. Supondo que a largura da tela seja de 600 pixels, você animaria o círculo, variando sua propriedade posX de 0 a 600.
Dois fatores afetarão a rapidez com que a bola se move através da tela: a quantidade de tempo que decorre entre cada alteração na propriedade posX e o incremento que você adiciona à propriedade posX em cada intervalo de tempo.
Por exemplo, se você adicionar 3 à propriedade posX em cada intervalo de tempo, levará 200 intervalos para chegar a 600 (3 x 200 = 600). Se os intervalos ocorrerem a cada 10 milissegundos (100 vezes por segundo), levará 2 000 milissegundos - 2 segundos completos - para que a bola percorra a tela da esquerda para a direita.
Sem animações JavaFX, você pode implementar a bola em movimento usando o objeto Timer Java para mover a bola em intervalos regulares. A classe Timer pode ser difícil de configurar e usar corretamente. As classes de animação JavaFX tornam a animação de seus nós uma proposição muito mais simples.
JavaFX fornece duas maneiras básicas de criar animações - a maneira dura e a maneira fácil:
-
A maneira difícil requer que você configure os eventos do temporizador manualmente, e depois escreva os ouvintes do evento que são chamados quando ocorrem eventos temporizados. No caso de ouvintes, você manipula as propriedades dos nós que deseja animar.
Por exemplo, para mover uma bola na tela, você configuraria um intervalo de tempo que marca cada 10 milissegundos. Em cada toque, você aumentaria a posição x da bola em 3. Você então configurou o temporizador para executar 200 vezes para mover a bola.
Configurar esta animação requer que você use duas classes: Timeline e KeyFrame, e que você escreva um ouvinte ActionEvent para mover a bola.
-
A maneira fácil tira proveito das classes de atalho fornecidas pelo JavaFX para implementar facilmente tipos comuns de animações.
Por exemplo, você pode usar a classe TranslateTransition para mover facilmente um círculo de um lado da tela para o outro durante um período de tempo especificado. Você simplesmente configurou um TranslateTransition especificando que deseja variar a posição x da bola de 0 a 600 ao longo de 2 segundos. A classe TranslateTransition cuidará dos detalhes.