Como falamos nos posts anteriores , o JavaFX traz algumas diferenças significativas em relação ao Java, por aproveitar as APIS do Java, permitindo uma gama de possibilidades tão vastas como o próprio java. Por exemplo é possível fazer chamadas para métodos ou criação de objetos de forma procedural, como em java.
No trecho de código abaixo temos um exemplo de que como criar de forma procedural um frame e adicionar um evento a um botão, feito em java.

Mas segundo a documentação do JavaFX, a melhor forma de fazer o seu uso é trabalhar de forma declarativa, como no trecho de código abaixo, relativo ao código anterior.

Observamos que o “operation” é o equivalente a um método em java, podendo conter métodos java, controles de fluxo, tratamento de exceções, loops e outros. Outra coisa que difere é que as variáveis não são tipificadas. Existem também uma grande variedade de novas funcionalidades como: Lista de Compreensão e Arrays, Concorrência, Classes e Objetos, Triggers e Reflections.
- Lista de Compreensão e Arrays – novo conceito que o java puro não possui. A lista é composta por uma ou mais listas de entrada, um filtro opcional e uma expressão geradora.
- Concorrência – a palavra reservada “do” é utilizada com uma finalidade diferente do Java, permitindo que a thread de Eventos AWT continue executanto, enquanto o código entre o “do” será executado em uma outra thread em background. ( Excelente recurso para preenchimento de combos e listas para exibição na Interface com o usuário )
- Classes e Objetos – as classes também são criadas declarativamente, ficando a implementação das funções e operações fora do corpo da classe.
- Triggers - essa funcionalidade foi inserida para resolver o problema da falta de construtores das classes e a não existência de métodos set/get. Existem quatro tipos de triggers : criação de objetos, inserção, atualização e deleção de um atributo.
- Reflexão – utiliza-se da mesma forma que em Java puro para acessar classes, atributos, funções e operações através da palavra reservada class.
Com esse post, o objetivo principal foi deixar claro algumas das novas funcionalidades e características do JavaFX, mas sugiro que um bom e velho hello world (existem tutoriais) seja implementado, para que se possa aprender mais.
No próximo post concluiremos o tema, tratando das limitações.
23 novembro, 2007 at 8:00 am
Really makes you think, doesn’t it?