38
Introdução ao JavaFX 2

Introdução ao JavaFX

Embed Size (px)

DESCRIPTION

Uma apresentação que mostra a nova API gáfica da plataforma Java: JavaFX.É mostrado código para criação de aplicações JavaFX e uma aplicação inusitada usando essa tecnologia.

Citation preview

Introdução ao JavaFX 2

Quem é William

● Formado na FATEC SJC● Trabalha na Red Hat com Suporte de

ferramentas JBoss● Um dos organizadores do JUG Vale● Fã do JavaFX desde a versão 1.0● Fã de Open Source e programação● REST(JAX-RS) com RESTEasy, Portlets e

Portais (JSR 168 e 286) com GateIn, Servidores de Aplicação JEE (JBoss)

Agenda

● O que é JavaFX?● O que você pode fazer com JavaFX?● Ferramentas e projetos● Um pouco de código● O projeto Visage● Indo além da apresentação● Perguntas

O que é JavaFX 2

É uma moderna biblioteca Java que dispõe de vários recursos para

criação de aplicações ricas. Sua forma de programar facilita muito a vida do desenvolvedor.

É o novo Swing

O que é JavaFX 2

Permite Criar Aplicações Ricas de Forma Fácil Com Java

O que você pode fazer com JavaFX?

Criar Interfaces gráficas...

Fonte das imagens:: http://docs.oracle.com/javafx/

O que você pode fazer com JavaFX?

Aplicar Efeitos...

Fonte das imagens:: http://docs.oracle.com/javafx/

O que você pode fazer com JavaFX?

Fonte das imagens:: http://docs.oracle.com/javafx/

Criar animações...

O que você pode fazer com JavaFX?

Fonte das imagens:: http://docs.oracle.com/javafx/

Mostrar páginas HTML...

O que você pode fazer com JavaFX?

Fonte das imagens:: http://docs.oracle.com/javafx/

Utilizar CSS para trocar a aparência da aplicação...

O que você pode fazer com JavaFX?

Fonte das imagens:: http://docs.oracle.com/javafx/

Criar Gráficos....

O que você pode fazer com JavaFX?

Fonte das imagens:: http://docs.oracle.com/javafx/

Tocar conteúdo multimídia...

Demonstração da aplicação Ensemble

O que você pode fazer com JavaFX?

● Desenvolvimento MultiPlataforma● Utilizar sua linguagem favorita● Usar FXML● Criar aplicações usando Java Plano ou Builders● Utlizar sua IDE predileta

● Primeiramente você deve saber algumas coisas importantes:○ Abstração de teatro: usa os conceitos Palco(Stage)

e Cena(Scene)○ A classe principal sempre herda de javafx.

application.Application○ Todos os atores(componentes da Cena) herdam de

javafx.scene.Node○ As classes do JavaFX ficam no jar jfxrt.jar, presente

no JavaFX quando você baixa ele do site da Oracle

Um pouco de código

Um pouco de código

● Esqueleto de uma aplicação JavaFX

Um pouco de código

Demonstração da aplicação TimaoFX

Um pouco de códigoCriando o "Topo"

Um pouco de códigoCriando o "Accordion"

raiz.setCenter(paineis);

Um pouco de código

Criando o painel "Informações básicas"

Um pouco de código

Criando o painel "Vídeos"

Um pouco de códigoCriando o painel "Hinos"

Um pouco de código

Criando o painel "Títulos"

Um pouco de códigoNosso "Tocador de Vídeo"

Um pouco de códigoNosso "Tocador de Audio"

Um pouco de código

Um pouco de códigoCom CSS!

cena.getStylesheets().add(ARQUIVO_CSS);

Visage

● Nasceu do JavaFX Script logo após o fim do mesmo

● Totalmente OpenSource● Roda sobre a Plataforma Java● Muito fácil de programar

Por que Visage?

● Ok, Java tem várias opções, é maduro, etc, mas as vezes você quer algo específico, para criar interfaces ou você não é especialista em Java

● Visage é específica(DSL - Domain Specific Language) para criação de interfaces. É fácil e tem curva de aprendizado muito pequena.

● Visage é mais do JavaFX, roda no topo de Android, Vaadin e há planos para mais

Uma DSL, Muitas Plataformas

Com Visage é possível criar interfaces para diversas plataformas. Atualmente temos:

● Vaadin● Android● JavaFX (VisageFX)

A maior vantagem é aprender uma só linguagem específica e reaproveitar o conhecimento em outras plataformas.

VisageFX

Visage no topo de JavaFX

Adaptamos Visage para ocultar verbosidade do Java com uma linguagem expressiva e específica para Interfaces com o Usuário

VisageFX

Aprendendo Mais

http://bit.ly/grupo_javafxhttp://javafx.com

http://fxexperience.comhttp://fxapps.blogspot.com

Perguntas?

Obrigado!

Contato:

● @william_antonio● github.com/jesuino● [email protected]