KGROUND-COLOR: #ffff00">Esse artigo faz parte da revista Java Magazine edição 51. Clique aqui para ler todos os artigos desta edição.

0pt">JavaFX Script: a forma segue a função

Criando uma aplicação JavaFX acessando banco de dados

 

F3 (“Form Follows Function”) foi o nome original da tecnologia que hoje é chamada de JavaFX Script. E não por acaso: a idéia principal do F3 era criar uma linguagem específica ao domínio das interfaces gráficas com o usuário, que descrevesse apenas a funcionalidade necessária aos componentes de GUI e apresentasse o mínimo de “ruído”. O lançamento do JavaFX Script foi feito com certo estardalhaço no último JavaOne, em maio deste ano, como parte do conjunto de tecnologias JavaFX. Esse conjunto inclui também a plataforma para dispositivos móveis JavaFX Mobile (um sistema operacional baseado num kernel Linux com infra-estrutura para a execução de aplicações Java SE em dispositivos com maior capacidade).

As tecnologias JavaFX são produtos da Sun. Não seguem ainda o caminho da padronização pelo JCP(Java Community Process), mas um ponto importante é a promessa de que todas estarão disponíveis sob licença open source. Embora a tecnologia JavaFX esteja comumente associada a designs chamativos, nosso foco neste artigo é mostrar a integração de aplicações JavaFX com banco de dados, usando uma arquitetura não-trivial.

 

A linguagem, o ambiente e exemplos

As linguagens de script têm crescido em popularidade e tendem a ganhar ainda mais espaço, visto que a máquina virtual Java, através da JSR-223, oferece suporte para diversas linguagens de script. Veja mais sobre este assunto no quadro “JavaFX, JSR-223 e outras linguagens de script”.

A JavaFX Script incorpora conceitos de várias outras linguagens, incluindo Java, JavaScript, XML, SQL, ActiveScript, SVG e AspectJ. (Para amenizar a repetição de “Java”, vamos encurtar o nome da linguagem para “FX Script” no restante do artigo.) Na definição de GUIs, o forte da FX Script é o estilo declarativo, em que a estrutura visual se reflete diretamente na linguagem de programação. Outra vantagem é a simplicidade no vínculo (binding) entre dados e elementos visuais. Vamos explorar a linguagem, através de um exemplo concreto. Ao final teremos construído uma aplicação JavaFX que acessa um banco de dados via JDBC. Antes de criar esta aplicação, no entanto, iremos apresentar alguns conceitos através de exemplos mais simples, começando pela preparação do ambiente.

 

Pré-requisitos e preparação do ambiente

Vamos utilizar a forma mais direta de executar aplicações FX Script: via linha de comando. Necessitamos das seguintes instalações:

??JDK 1.6 ou JRE 1.6

??Distribuição do Openjfx (que pode ser obtida em openjfx.dev.java.net/servlets/ProjectDocumentList). A distribuição do Openjfx, que inclui um ambiente de runtime para aplicações FX Script, vem na forma de um arquivo .zip ou .tgz. Uma vez descompactado o arquivo, teremos a seguinte estrutura de diretórios:

+-- OpenJFX-200707201531

+-- branches

+-- LICENSE

+-- tags

+-- trunk

+-- bin

+-- demos

+-- doc

+-- lib

+-- src

+-- WWW

No diretório trunk/bin, temos os utilitários javafx.bat e javafx.sh, que permitem a execução dos scripts FX a partir da linha de comando. Devemos também definir uma variável de ambiente JAVAFX_HOME apontando para o subdiretório trunk da instalação, e adicionar o subdiretório trunk/bin à variável de ambiente PATH. Com o ambiente preparado, podemos iniciar os exemplos.

 

Exemplo 1: Criando uma janela vazia

Vamos começar criando uma janela com tamanho fixo, mas sem incluir nenhum outro componente visual. Em FX Script, essa implementação ficaria assim:

1: import javafx.ui.*;

2:

3: Frame {

4: height: 300

5: width: 400

6: title: “Cadastro de Clientes”

7: visible: true

8:}

Crie um arquivo texto com este código (sem os números de linha) e salve-o como FrameCadastro.fx, em um diretório à sua escolha. Execut e então o seguinte comandoneste diretório:

javafx FrameCadastro.

 

Figura 1. Execução da versão inicial de FrameCadastro.fx

 

A Figura 1 ...

Quer ler esse conteúdo completo? Tenha acesso completo