Escolar Documentos
Profissional Documentos
Cultura Documentos
Su
e
ib
cr
to
d
Up
code.makery
es
at
HOME
LIBRARY
PATHS
BLOG
ABOUT
Edit on GitHub
Linguagens
pdfcrowd.com
Tpicos na Parte 1
Conhecendo o JavaFX
Criando e inicializando um projeto JavaFX
Utilizando o Scene Builder para modelar a interce com o usurio
Estrutura bsica da aplicao utilizando o padro Model-View-Controller (MVC)
pdfcrowd.com
Pr-requisitos
Ultima verso Java JDK 8 (Que inclua o JavaFX 8).
Eclipse 4.3ou posterior com o plugin e(fx)clipse . A modo mais fcil efetuar o
download da distro pr-configurada da fonte: e(fx)clipse website. Como alternativa
voc pode usar o: update site para sua insalao do Eclipse.
Scene Builder 2.0 ou posterior.
Configuraes do Eclipse
Ns precisamos configurar o Eclipse para usar o JDK 8, bem como onde ele ira encontrar o
Scene Builder:
1. Abra a aba Preferences do Eclipse e navegue at Java | Installed JREs.
2. Clique em Add..., selecione Standard VM e a informe a Pasta onde se encontra o JDK 8.
3. Remova os outros JREs ou JDKs ento o JDK 8 torna-se o padro.
pdfcrowd.com
pdfcrowd.com
pdfcrowd.com
Links teis
Voc pode querer colocar os links seguintes nos favoritos (em ingls):
Java 8 API - JavaDoc para classes Java padro
JavaFX 8 API - JavaDoc para classes JavaFX
ControlsFX API - JavaDoc para o Projeto ControlsFX para controles JavaFX adicionais
Oracle's JavaFX Tutorials - Tutoriais Oficiais JavaFX da Oracle
Agora vamos comear!
open in browser PRO version
pdfcrowd.com
Criar os Pacotes
Bem no comeo, ns seguiremos os Design Patterns (Padres de Design) para
desenvolvermos um bom software. Uma boa prtica muito importante usar o Design
Pattern Model-View-Controller (MVC). De acordo com este Pattern (Padro) ns dividimos
nosso cdigo em 3 unidades e criamos um pacote para cada (Clique com boto direito na
pasta src, New... | Package):
ch.makery.address - contm a maioria das classes controller(regras de negcio)
ch.makery.address.model - contm classes de modelo
ch.makery.address.view - contm views
Nota: Nosso pacote view tambm ter alguns controladores que esto diretamente ligados
a uma nica view. Vamos cham-los de view-controllers.
open in browser PRO version
pdfcrowd.com
pdfcrowd.com
pdfcrowd.com
pdfcrowd.com
Clique com o boto direito em PersonOverview.fxml e escolha Open with Scene Builder.
Agora voc deve ver o Scene Builder com apenas um AnchorPane (visvel na Hierarquia
(Hierarchy) a esquerda).
1. Selecione o Anchor Pane na sua Hierarchy e ajuste o tamanho em Layout (lado
direito):
pdfcrowd.com
pdfcrowd.com
Fit to Parent.
3. Arraste uma TableView (em Controls) para dentro do lado esquerdo do SplitPane.
Selecione a TableView (no uma Column) e defina a seguinte restrio de layout
(layout constraints) TableView. Dentro de um AnchorPane voc pode sempre definir
ncoras (anchors) para as quatro bordas (mais informao sobre Layouts (em ingls)).
pdfcrowd.com
pdfcrowd.com
pdfcrowd.com
7. Adicione uma Label no lado direito com o texto "Person Details" (dica: use a pesquisa
para encontrar a Label). Ajuste seu layout usando anchors.
pdfcrowd.com
10. Adicione trs botes na parte de baixo. Dica: Selecione todos eles, clique com o boto
direito e clique em Wrap In > HBox. Este agrupa os botes juntos. Voc pode precisar
de especificar a spacing (espaamento) dentro do HBox. Ento, definir as ncoras
pdfcrowd.com
pdfcrowd.com
Ns precisamos de outro FXML para nosso layout base que conter uma barra de menu e
envolve a PersonOverview.fxml criada.
1. Crie outro FXML Document dentro do pacote view chamado RootLayout.fxml . Desta
vez, escolha BorderPane como o elemento base (root element).
pdfcrowd.com
em 400.
pdfcrowd.com
Main Class.
pdfcrowd.com
Como voc v, o mtodo start(...) recebe um Stage como parmetro. O grfico seguinte
ilustra a estrutura de cada aplicao JavaFX:
pdfcrowd.com
do Stage (palco) voc adiciona uma Scene (cena) que pode, claro, ser trocada por outra
Scene (cena). Dentro da Scene (cena) os nodos do JavaFX como AnchorPane , TextBox , etc.
so adicionados.
Para mais informaes sobre como Trabalhando com JavaFX Scene Graph (ingls).
open in browser PRO version
pdfcrowd.com
pdfcrowd.com
showPersonOverview();
}
/**
* Inicializa o root layout (layout base).
*/
public void initRootLayout() {
try {
// Carrega o root layout do arquivo fxml.
FXMLLoader loader = new FXMLLoader();
loader.setLocation(MainApp.class.getResource("view/RootLayout.fxml"));
rootLayout = (BorderPane) loader.load();
// Mostra a scene (cena) contendo oroot layout.
Scene scene = new Scene(rootLayout);
primaryStage.setScene(scene);
primaryStage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Mostra o person overview dentro do root layout.
*/
open in browser PRO version
pdfcrowd.com
pdfcrowd.com
Problemas Frequentes
Se o JavaFX no puder encontrar o arquivo fxml que voc especificou, voc deve ver a
seguinte mensagem de erro:
java.lang.IllegalStateException: Location is not set.
Para resolver isso, verifique novamente se voc escreveu o nome dos seus arquivos fxml
corretamente!
Se isso ainda no funcionar, baixe o cdigo fonte desta parte do tutorial e tente com o
arquivo fxml incluso.
pdfcrowd.com
AddressApp.
Alguns outros artigos que voc deve achar interessante (ingls)
JavaFX Dialogs
JavaFX Date Picker
JavaFX Exemplo de Manipulao de Eventos
JavaFX Ordenamento e Filtragem de TableView
JavaFX Renderizador de Clulas da TableView
Intro
Subscribe to receive updates by Email.
open in browser PRO version
pdfcrowd.com
Enter email
Get updates
pdfcrowd.com