Iniciando
O melhor jeito de comear parar de falar e comear a fazer.
Walt Disney
O arquivo Main.fx ter um esqueleto de cdigo que exibe uma janela com algum texto.
Voc precisa modificar esse cdigo. Como todo bom captulo Iniciando, vamos usar
o exemplo Hello World. Abordaremos os detalhes mais tarde, mas o cdigo na Lista 1.1
mostrar uma janela no desktop, com Hello World exibido.
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
Stage {
title: My first JavaFX Application
width: 400
height: 80
scene: Scene {
continua
C o n f I g u r a n d o n e t B e a n s Ide pa r a J ava fX 1.2 5
content: Text {
font : Font {
size : 24
}
x: 10, y: 30
content: Hello World
}
}
}
Para visualizar a tela resultante enquanto edita o arquivo, use o modo JavaFX Preview.
Para entrar no modo Preview, clique no cone Preview, esquerda do editor Main.fx
(veja Figura 1.4). Isso abre uma nova janela no topo da janela de edio Main.fx e per-
mite que voc veja como a tela se parece conforme insere suas alteraes. A Figura 1.4
mostra a janela Preview.
Por exemplo, vamos alterar sua aplicao para escalonar Hello World por um fator de
4. Isso feito usando os atributos scaleX e scaleY para o elemento Text. Esses atributos
faro o Text escalonar quatro vezes a partir de seu ponto central. A Figura 1.5 mostra as
alteraes instantaneamente na janela Preview.
Ao usar o modo Preview, voc pode rapidamente ver o impacto de suas alteraes. Ele
permite testar novos efeitos sem ter que passar pelo ciclo de editar, compilar, executar
um lao (em ingls, loop) para cada iterao de mudanas. Assim que inserir a alterao,
a tela atualizada com a ltima visualizao.
Hello World um tanto chato, ento vamos nos divertir e apiment-lo um pouco. Adi-
cionaremos um background com efeito gradiente, tornaremos a fonte maior e adiciona-
remos um efeito de reflexo. Usando o exemplo original para Hello World, voc adiciona
o cdigo para obter o efeito desejado. Voc aprender o que cada parte desse novo c-
digo faz nos captulos futuros, mas, por enquanto, queremos mostrar o que possvel. A
Figura 1.6 mostra esse exemplo muito mais interessante de Hello World.
6 Captulo 1 InICIando
A Lista 1.2 mostra como isso foi feito. , na verdade, muito simples e conciso. Essa a
beleza da Plataforma JavaFX.
Lista 1.2 Interessante Aplicao Hello World
package myfirstjavafxapplication;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
import javafx.scene.paint.LinearGradient;
import javafx.scene.paint.Stop;
import javafx.scene.effect.Reflection;
color: Color.WHITE;
},
Stop { offset: 1.0
color: Color.rgb(153, 153, 153);
},
]
}
},
text = Text {
translateX:
bind (stage.width-
text.boundsInLocal.width)/2
translateY: bind stage.height /2
content: Hello World
effect: Reflection { fraction: 0.7}
font: Font {name:ArialBold, size: 64}
}
]
}
}
Distribuindo a Aplicao
Para compilar o projeto inteiro, clique no projeto MyFirstJavaFXApplication, na aba
Projects esquerda da tela do NetBeans IDE. Quando o projeto estiver destacado, clique
com o boto direito do mouse para trazer um menu de opes, selecione Build Project.
Isso automaticamente salva todos os arquivos-fonte atualizados para o projeto, compila o
JavaFX Script e qualquer arquivo-fonte Java, colocando ento os arquivos de classe em
um arquivo Java Archive (JAR) abaixo do diretrio dist. Alm de gerar o arquivo JAR
para executar localmente a aplicao a partir de um atalho no desktop ou da linha de co-
mando, ele tambm gera arquivos de suporte para usar a aplicao como um Java Applet
em um navegador e para us-la com o cone Web Start, seja dentro de um navegador ou
a partir do desktop. Essas duas opes sero explicadas em detalhes no Captulo 9. A
Figura 1.7 mostra o menu do projeto com o item Build Project selecionado.
Depois de sua aplicao estar completa, construda e pronta para ser implantada, voc
pode criar um arquivo usando todo o contedo do diretrio dist. Ferramentas comuns
para isso so zip e tar. Outra opo incluir esses arquivos em uma ferramenta de
instalao.
Arquivos de Distribuio
MyFirstJavaFXApplication.jar
MyFirstJavaFXApplication.html
MyFirstJavaFXApplication.jnlp
MyFirstJavaFXApplication_browser.jnlp
lib/
Para executar a aplicao, tenha certeza de que o SDK de JavaFX est instalado, ento
instale a distribuio e execute o seguinte comando:
Usando esse comando, voc poder facilmente criar atalhos no desktop para executar
a aplicao. Ou poder usar o Java Web Start executando o arquivo dist/MyFirstJa-
vaFXApplication.jnlp.
Tambm h um meio de implantar aplicaes JavaFX por meio da World Wide Web
usando Java Applets ou o protocolo Java Web Start, que discutiremos no Captulo 9.
MyFirstJavaFXApplication.html, MyFirstJavaFXApplication.jnlp e MyFirstJavaFXAppli-
cation_browser.jnlp oferecem exemplos de arquivo que podem ser usados para isso.
Linha de Comando
Se voc quiser desenvolver sem o NetBeans IDE para o Kit de Desenvolvimento JavaFX
1.2, faa download do SDK do JavaFX a partir de www.javafx.com. H instaladores para
Microsoft Windows XP com Service Pack 2 e Vista, Apple Mac OS X 10.5.2, Linux e
OpenSolaris.
lInha de Comando 11
x: 10
y: 20
content: Hello World
}
}
}
Salve isso em MyFirstApp.fx, ento compile usando o comando javafxc. (Tenha certe-
za de que o diretrio bin do SDK est no seu path de comando.)
$ javafxc MyFirstApp.fx
$
Isso produz um ou mais arquivos de classe no diretrio atual. A seguir, execute o primei-
ro programa usando o comando javafx:
$ javafx MyFirstApp
Se tudo correr bem, voc deve ver algo similar Figura 1.8.
L voc tem sua primeira aplicao JavaFX Script. Voc agora est pronto para seguir
para um contedo mais interessante.
O comando de compilao javafxc muito similar ao comando de compilao javac.
De acordo, o comando javafx usa o mesmo formato e as mesmas opes que o comando
de compilao Java. O formato bsico do comando javafxc :
$ javafxc <options> <source files>
Agora voc tem os fundamentos para implementar sua aplicao JavaFX Script a
partir da linha de comando. Isso ser o suficiente para aplicaes pequenas, mas con-
forme sua aplicao cresce em tamanho e complexidade, rapidamente voc descobri-
r que usar a opo de linha de comando se torna mais difcil e complexo. Quando
seu projeto fica muito grande, voc pode querer considerar o NetBeans IDE para
JavaFX 1.2, Eclipse IDE com o JavaFX Plugin ou uma ferramenta de construo
como Apache Ant.
O Kit de Desenvolvimento de Software de JavaFX oferece uma task Ant para compi-
lar arquivos fontes JavaFX Script. Para declarar isso em um arquivo Ant build.xml,
use a task Ant taskdef.
Para uma primeira aplicao simples, o arquivo build.xml na Lista 1.4 compila qual-
quer arquivo .fx no diretrio atual. Ant esperto o suficiente para saber quando os
arquivos precisam ser compilados, ento, depois de um arquivo JavaFX Script ser
compilado, ele no ser compilado novamente at que o arquivo fonte JavaFX Script
seja atualizado.
</project>
Para criar a primeira aplicao, altere o diretrio para o diretrio onde voc salvou o
arquivo MyFirstApp.fx, copie ou salve o arquivo build.xml nese diretrio, e ento exe-
cute o comando ant:
bash-3.2$ ant
Buildfile: build.xml
compile:
[javafxc] Compiling 1 source file to /export/home/jclarke/
Documents/Book/FX/code/Chapter1
BUILD SUCCESSFUL
Total time: 1 second
bash-3.2$
Eclipse
Se voc preferir usar o Eclipse IDE, primeiro precisa baixar e instalar o SDK de
JavaFX para seu ambiente de http://javafx.com. A seguir, voc precisa do Eclipse
3.4 ou superior; Eclipse IDE for Java EE Developers recomendado. Finalmente,
voc precisa fazer download e instalar o plugin de Eclipse para JavaFX de http://
kenai.com/projects/eplugin. Para instalar o plugin de Eclipse para JavaFX, apenas
descompacte-o no diretrio onde Eclipse est instalado. Por exemplo, se Eclipse esti-
ver instalado em C:\Program Files\eclipse, descompacte o plugin Eclipse para JavaFX
do diretrio, C:\Program Files.
Para criar seu primeiro projeto JavaFX, execute Eclipse. Na rea de trabalho abaixo do
Project Explorer, clique com o boto direito e selecione New | Project. A Figura 1.9
mostra a seleo do menu New Project.
A seguir, crie um Java Project selecionando Java | Java Project no wizard New Project.
A Figura 1.10 mostra essa janela com as selees.
Isso cria um projeto com uma Perspectiva Java; a seguir, temos que adicionar o JavaFX
Nature. Para fazer isso, clique com o boto direito do mouse em MyFirstJavaFXPro-
ject e selecione JavaFX | Add JavaFX Nature. A Figura 1.12 mostra o menu para
adicionar JavaFX Nature ao projeto.
A primeira vez que voc adicionar JavaFX Nature a um projeto, pode ser solicitado que
confirme ou configure as diversas questes de configurao. E, o mais importante, se
voc no instalou o SDK de JavaFX na localizao padro, precisa inserir a localizao
atual onde est instalado em seu sistema. Tambm, precisa ter certeza de que o ambiente
Java est apontando para o uso de Java 6 Update 10 ou superior.
Para criar o JavaFX Script Hello World, primeiro crie um pacote selecionando
New | Package. Nesse exemplo, ns nomeamos o pacote de myfirstjavafxappli-
cation. A Figura 1.13 mostra a seleo do menu para adicionar um novo pacote
ao projeto.
O prximo passo criar um JavaFX Script vazio. Faa isso clicando com o boto direito
no nome do pacote e selecionando New | Empty Script. A Figura 1.14 exibe a seleo
de menu para adicionar um novo arquivo de script ao projeto.
A Figura 1.15 mostra o wizard New Script para o novo arquivo de script com o nome
de script Main inserido.
D um nome ao script, Main, e clique em Finish. Isso cria um arquivo de script va-
zio chamado de Main.fx. Edite o script de arquivo com o exemplo de Hello World e
salve-o. Para execut-lo, selecione o cone Run e a janela da aplicao deve apare-
cer. A Figura 1.16 aponta o cone Run da barra de ferramentas, exibindo a aplicao
executada.
Uma diferena principal entre NetBeans IDE para JavaFX 1.2 e o plugin JavaFX para
Eclipse que no h modo Preview para JavaFX no Eclipse. Porm, fcil executar a
aplicao para ver a aparncia da tela no momento do desenvolvimento.
Esta seo conclui os fundamentos para iniciar em Eclipse. Para informaes mais
detalhadas e opes de configurao, cheque a documentao que est disponvel com
o plugin Eclipse para JavaFX. Os documentos contm instrues detalhadas para ins-
talar o plugin JavaFX e configurar Eclipse para reconhecer pela primeira vez arquivos
JavaFX. Depois do Eclipse ser configurado para JavaFX, o desenvolvimento similar
ao NetBeans IDE para JavaFX 1.2.
18 Captulo 1 InICIando
Resumo do Captulo
Este captulo mostrou como comear a escrever sua primeira aplicao JavaFX. De-
talhou como fazer download e instalar o NetBeans IDE para JavaFX 1.2, o plugin
Eclipse para JavaFX e o SDK de JavaFX, como escrever e compilar um simples pro-
grama JavaFX, ambos a partir da linha de comando e usando o NetBeans IDE para
JavaFX 1.2, e como distribuir esse programa para um usurio final. Ofereceu tambm
um pequeno esclarecimento do que possvel com a Plataforma JavaFX.
A partir daqui, iremos explorar a Plataforma JavaFX com mais detalhes e descrever
as capacidades principais que voc poder implantar em suas aplicaes. Ao longo
dos prximos captulos, abordaremos conceitos exigidos para criar uma animao
direta, um eclipse solar total. Isso nos permite explorar animao, grficos e efeitos
especiais. Ns iremos explorar uma aplicao Sudoku escrita em JavaFX Script. Essa
aplicao demonstra algumas das caractersticas-chave do JavaFX Script incluindo
vnculo de dados (em ingls, data binding) e gatilhos (em ingls, triggers). O prximo
captulo nos leva a olhar o JavaFX com a viso de um designer grfico.