JavaOne 2007 – Mais sobre o JavaFX

 

Yara Senger – Especial para a Java Magazine, de São Francisco, EUA

 

Já falamos um pouco aqui sobre o JavaFX, uma família de tecnologias da Sun baseada em Java para criação de interfaces ricas para diversas plataformas de desenvolvimento – desde celulares e TVs, até aplicações desktop. Aqui falamos um pouco mais sobre JavaFX Script, a linguagem que é um dos pilares do JavaFX.

 

JavaFX Script é uma linguagem de scripting criada para ser altamente produtiva. Na General Session de terça-feira foi mostrado uma réplica do site da Motorola criado usando a tecnologia, com recursos parecidos com Flash, botões com movimentos, fade-in e fade-out, recursos 2D e 3D utilizando a nova linguagem da Sun.

 

Outro exemplo interessante foi uma aplicação chamada Iris, que permite fazer drag-and-drop de fotos do Flickr para o desktop e vice-versa, um slide show exibido em um cubo 3D e alguns recursos de edição de imagens. Veja mais sobre a aplicação em http://swinglabs.java.sun.com/iris/

 

image002.jpg

Pequena demonstração do JavaFX na palestra de abertura: edição rápida e retorno visual imediato

 

Há muito em comum com Java no JavaFX Script: há pacotes, classes, herança, e podemos utilizar as APIs Java. Quando pensamos em uma linguagem de scripting, geralmente imaginamos algo como JavaScript, que é bastante parecida com Java sintaticamente. Mas neste caso, a sintaxe é bastante diferente. Veja um exemplo de código nessa linguagem:

 

import javafx.ui.*;

import javafx.ui.canvas.*;

import javafx.ui.filter.*;

 

Group {

    content:

    ... // trecho de código omitido

    Text {

        x: 120

        y: 50

        content: "JavaFX"

        font: Font {face: VERDANA, style: [ITALIC, BOLD], size: 60}

        fill: LinearGradient {

            x1: 0, y1: 0, x2: 0, y2: 1

            stops:

            [Stop {

                offset: 0.2

                color: red

            },

            Stop {

                offset: 0.5

                color: orange

            },

            Stop {

                offset: .8

                color: red

            }]

        }

        filter:

        [Glow {

            amount: 0.1

        },

        Noise {

            monochrome: true

            distribution: 0

        }]

    },

    View {

        transform: translate(160, 200)

        content: Button {

            icon: Image { url: "javafxpad/images/duke.gif" }

            text: "Click Me...!"

        }

    }]

}

 

Como se vê, é uma linguagem bastante diferente de Java, focada em criar uma experiência interativa no ambiente web. Você pode ver mais exemplos em http://openfx.dev.java.net.