SlideShare una empresa de Scribd logo
1 de 25
SESTINFO 2010 JavaFX Overview Eder Magalhães eder@yaw.com.br twitter.com/edermag
Relembrar...  Conectividade;  Iteratividade;  Antes da propagação www;
Java pra todo lado ... Card  Server  Desktop  Java até na web  Ainda tem muitos mais ...
Mas são 15 anos... Será que vale a pena?
Números: Contagem feita em 2009!
JavaFXPlatform
JavaFXLanguage Linguagem de Script  Orientada a Objetos  Declarativa e procedural  Linguagem de expressão  Reconhece as classes do Java Typeinference Functions
Declaração  Variáveis varnome: String;  Constantes defPI: Number = 22 / 7;  Funções functionsomar(x: Number, y:Number): Number {    x + y; }
Data Types Wrapper primitivos do Java  String Number Duration Sequences Void
Sequences varnumeros = [2, 4, 6]; insert [8, 10] intonumeros; //[2,4,6,8,10] println(reversenumeros); //print 10, 8, 6, 4, 2 varseq = [1 .. 10]; println(  for (x in [1..4]) { x * x }  ); //1, 2, 9, 16
Classes publicclassCliente { public-init var nome: String; public-initvarcpf: String; public-initvartelefone: String; publicfunctionprintDados()  { println("Cliente: {nome} – {cpf}"); 	} }
Object Literal varcliente = Cliente { 	nome: "Claudia" cpf:"2091928912" 	telefone: "(11) 4444-6677" } cliente.printDados(); // Cliente: Claudia - 2091928912 cliente.cpf = "313123133"; //não compila
Binding vara = "Java";  varb = binda;  println("a:{a} b:{b}");  //a: Java b: Java a = “JavaFX"; //atualiza b  println("a:{a} b:{b}"); //a: JavaFX b: JavaFX varx = 10;  vary = bind (x+10); X = 15; //y modificado para 25
Triggers vartexton replace oldValue { println("Oldvalue = '{oldValue}'"); println("Newvalue = '{text}'"); } text = "Hello"; Imprime: Oldvalue = '' Newvalue = 'Hello'
Java SceneGraph Responsável por pintar os elementos gráficos;  Esconde complexidade na renderização;  Otimiza o repaint  Evolução da alternativa adotada no Java 2D https://scenegraph.dev.java.net/ http://weblogs.java.net/blog/2007/12/11/our-new-java-scene-graph-open-sourced
HelloWordFX Stage { title: "Hello FX!" scene: Scene { width: 250 height: 150 content: [ Label{ text: "Bem-vindo ao FX" }         ]     } }
Objetos Gráficos Controls Buttons, Radio Button, CheckBox, Labels, ListItem ...  Layouts Charts Text Shapes
Customização de desenhos varretangulo = Rectangle { 	x:10 y:20 width:140 height:70 fill:Color.LIGHTBLUEstroke:Color.BLUE arcHeight:20 arcWidth:20 strokeWidth:3 } vardiamante = Polygon { 	points:[90,90, 110,70, 130,90, 110,110 ] fill:Color.LIGHTPINKstroke:Color.RED strokeWidth: 3 } varbalaozinho = ShapeIntersect { translateX:170 fill: Color.LIGHTGREEN stroke: Color.GREENstrokeWidth: 3 	a: [retangulo, diamante] }
Tratando eventos varretangulo: Rectangle = Rectangle { 	... onMouseEntered: function( e: MouseEvent ): Void { retangulo.fill = Color.WHITESMOKE; 	} onMouseExited: function( e: MouseEvent ): Void { retangulo.fill = Color.LIGHTBLUE; 	} }
Demonstração NetBeans / JavaFXComposer
Java Store
Livedemo - http://javafx.com/samples/
Perguntas & Respostas
Referências http://javafx.com http://store.java.com http://steveonjava.com/ http://fxexperience.com http://jfxstudio.wordpress.com/ http://rakeshmenonp.wordpress.com/ http://www.yaw.com.br http://www.globalcode.com.br http://blog.globalcode.com.br
Obrigado ! Eder Magalhães eder@yaw.com.br twitter.com/edermag

Más contenido relacionado

La actualidad más candente

Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STLEstruturas de dados com C++ e STL
Estruturas de dados com C++ e STLMarcos Castro
 
Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Leandro Rezende
 
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01thomasdacosta
 
Introdução à biblioteca OpenCV
Introdução à biblioteca OpenCVIntrodução à biblioteca OpenCV
Introdução à biblioteca OpenCVGuto Kaberdock
 
Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)Cristiano Rafael Steffens
 
introdução a visão compuutacional com opencv e python
introdução a visão compuutacional com opencv e pythonintrodução a visão compuutacional com opencv e python
introdução a visão compuutacional com opencv e pythonwhanderley freitas
 
T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)Carlos Santos
 
Programação Estruturada com Java-Aula05
Programação Estruturada com Java-Aula05Programação Estruturada com Java-Aula05
Programação Estruturada com Java-Aula05Elvis Araújo
 
Debugging tips and tricks
Debugging tips and tricksDebugging tips and tricks
Debugging tips and tricksTales Andrade
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Cristiano Rafael Steffens
 
Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0André Moreira
 
Python Introdução
Python IntroduçãoPython Introdução
Python IntroduçãoBruno Santos
 
Bg, fg, jobs, nohup - controle de tarefas do shell
Bg, fg, jobs, nohup - controle de tarefas do shellBg, fg, jobs, nohup - controle de tarefas do shell
Bg, fg, jobs, nohup - controle de tarefas do shellFábio dos Reis
 
OOP (in portuguese)
OOP (in portuguese)OOP (in portuguese)
OOP (in portuguese)Bruno Pedro
 
(Portuguese) Java EE Poliglota
(Portuguese) Java EE Poliglota(Portuguese) Java EE Poliglota
(Portuguese) Java EE PoliglotaPhil Calçado
 

La actualidad más candente (20)

Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STLEstruturas de dados com C++ e STL
Estruturas de dados com C++ e STL
 
Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01
 
Introdução à biblioteca OpenCV
Introdução à biblioteca OpenCVIntrodução à biblioteca OpenCV
Introdução à biblioteca OpenCV
 
Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)
 
introdução a visão compuutacional com opencv e python
introdução a visão compuutacional com opencv e pythonintrodução a visão compuutacional com opencv e python
introdução a visão compuutacional com opencv e python
 
T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)
 
Programação Estruturada com Java-Aula05
Programação Estruturada com Java-Aula05Programação Estruturada com Java-Aula05
Programação Estruturada com Java-Aula05
 
Debugging tips and tricks
Debugging tips and tricksDebugging tips and tricks
Debugging tips and tricks
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
 
Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0
 
Python Introdução
Python IntroduçãoPython Introdução
Python Introdução
 
Bg, fg, jobs, nohup - controle de tarefas do shell
Bg, fg, jobs, nohup - controle de tarefas do shellBg, fg, jobs, nohup - controle de tarefas do shell
Bg, fg, jobs, nohup - controle de tarefas do shell
 
1.introducao java
1.introducao java1.introducao java
1.introducao java
 
OOP (in portuguese)
OOP (in portuguese)OOP (in portuguese)
OOP (in portuguese)
 
5423 c ou c++
5423 c ou c++5423 c ou c++
5423 c ou c++
 
(Portuguese) Java EE Poliglota
(Portuguese) Java EE Poliglota(Portuguese) Java EE Poliglota
(Portuguese) Java EE Poliglota
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Microsoft C#
Microsoft C#Microsoft C#
Microsoft C#
 

Destacado (10)

Campeonato de España y Torneo Nacional U16
Campeonato de España y Torneo Nacional U16Campeonato de España y Torneo Nacional U16
Campeonato de España y Torneo Nacional U16
 
Cobertura torneo cosat 2010 final
Cobertura torneo cosat 2010 finalCobertura torneo cosat 2010 final
Cobertura torneo cosat 2010 final
 
21 de marzo del 2014ok
21 de marzo del 2014ok21 de marzo del 2014ok
21 de marzo del 2014ok
 
Torneo 2011 12
Torneo 2011 12Torneo 2011 12
Torneo 2011 12
 
Diez libros VITRUBIO
Diez libros VITRUBIODiez libros VITRUBIO
Diez libros VITRUBIO
 
CID Escola Estiu 2010
CID Escola Estiu 2010CID Escola Estiu 2010
CID Escola Estiu 2010
 
Diario la calle 11 setiembre
Diario la calle 11 setiembreDiario la calle 11 setiembre
Diario la calle 11 setiembre
 
La calle miercoles 9 setiembre (1)
La calle miercoles 9 setiembre (1)La calle miercoles 9 setiembre (1)
La calle miercoles 9 setiembre (1)
 
La calle jueves 10 setiembre
La calle jueves 10 setiembreLa calle jueves 10 setiembre
La calle jueves 10 setiembre
 
Diario la calle 14 setiembre (1)
Diario la calle 14 setiembre (1)Diario la calle 14 setiembre (1)
Diario la calle 14 setiembre (1)
 

Similar a JavaFX SestInfo 2010

Introdução ao java fx e visage
Introdução ao java fx e visageIntrodução ao java fx e visage
Introdução ao java fx e visagejesuinoPower
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com GrailsWanderson Oliveira
 
Groovy para javeiros - Migração Painless
Groovy para javeiros - Migração PainlessGroovy para javeiros - Migração Painless
Groovy para javeiros - Migração PainlessRafael Farias Silva
 
Evolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScriptEvolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScriptJean Carlo Emer
 
Programação desktop - apresentação
Programação desktop -  apresentaçãoProgramação desktop -  apresentação
Programação desktop - apresentaçãoRosicleia Frasson
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformMilfont Consulting
 
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoLidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoRafael Ponte
 
Plataforma java: detalhes da JVM
Plataforma java: detalhes da JVMPlataforma java: detalhes da JVM
Plataforma java: detalhes da JVMCaelum
 
Minha aplicação Java vai pra nuvem. E agora?
Minha aplicação Java vai pra nuvem. E agora?Minha aplicação Java vai pra nuvem. E agora?
Minha aplicação Java vai pra nuvem. E agora?Felipe Mamud
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 

Similar a JavaFX SestInfo 2010 (20)

Introdução ao java fx e visage
Introdução ao java fx e visageIntrodução ao java fx e visage
Introdução ao java fx e visage
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
 
Tutorial JavaFX simples
Tutorial JavaFX simplesTutorial JavaFX simples
Tutorial JavaFX simples
 
Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
Migrando pra Scala
Migrando pra ScalaMigrando pra Scala
Migrando pra Scala
 
Groovy para javeiros - Migração Painless
Groovy para javeiros - Migração PainlessGroovy para javeiros - Migração Painless
Groovy para javeiros - Migração Painless
 
Evolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScriptEvolução e futuro do uso de paradigmas no JavaScript
Evolução e futuro do uso de paradigmas no JavaScript
 
Programação desktop - apresentação
Programação desktop -  apresentaçãoProgramação desktop -  apresentação
Programação desktop - apresentação
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java Platform
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoLidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
 
Minicurso groovy grails
Minicurso groovy grailsMinicurso groovy grails
Minicurso groovy grails
 
Plataforma java: detalhes da JVM
Plataforma java: detalhes da JVMPlataforma java: detalhes da JVM
Plataforma java: detalhes da JVM
 
Minha aplicação Java vai pra nuvem. E agora?
Minha aplicação Java vai pra nuvem. E agora?Minha aplicação Java vai pra nuvem. E agora?
Minha aplicação Java vai pra nuvem. E agora?
 
Java script1
Java script1Java script1
Java script1
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
Comandos e expressões
Comandos e expressõesComandos e expressões
Comandos e expressões
 
Javascript
JavascriptJavascript
Javascript
 

Más de Eder Magalhães

Concorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeConcorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeEder Magalhães
 
Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Eder Magalhães
 
Desenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeDesenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeEder Magalhães
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaEder Magalhães
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaSEder Magalhães
 
JDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesJDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesEder Magalhães
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingEder Magalhães
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EEEder Magalhães
 
As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8Eder Magalhães
 
Desenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooDesenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooEder Magalhães
 
Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Eder Magalhães
 
Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineEder Magalhães
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011Eder Magalhães
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVCEder Magalhães
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem PráticaEder Magalhães
 

Más de Eder Magalhães (20)

Cvc programacao reativa
Cvc programacao reativaCvc programacao reativa
Cvc programacao reativa
 
Concorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeConcorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidade
 
Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8
 
Desenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeDesenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o Forge
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistência
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaS
 
JDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesJDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidades
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EE
 
As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8
 
Desenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooDesenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring Roo
 
Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8
 
Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App Engine
 
Java7 tdc2011
Java7 tdc2011Java7 tdc2011
Java7 tdc2011
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011
 
Introducao Spring ROO
Introducao Spring ROOIntroducao Spring ROO
Introducao Spring ROO
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVC
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem Prática
 

JavaFX SestInfo 2010

  • 1. SESTINFO 2010 JavaFX Overview Eder Magalhães eder@yaw.com.br twitter.com/edermag
  • 2. Relembrar... Conectividade; Iteratividade; Antes da propagação www;
  • 3. Java pra todo lado ... Card Server Desktop Java até na web Ainda tem muitos mais ...
  • 4. Mas são 15 anos... Será que vale a pena?
  • 7. JavaFXLanguage Linguagem de Script Orientada a Objetos Declarativa e procedural Linguagem de expressão Reconhece as classes do Java Typeinference Functions
  • 8. Declaração Variáveis varnome: String; Constantes defPI: Number = 22 / 7; Funções functionsomar(x: Number, y:Number): Number { x + y; }
  • 9. Data Types Wrapper primitivos do Java String Number Duration Sequences Void
  • 10. Sequences varnumeros = [2, 4, 6]; insert [8, 10] intonumeros; //[2,4,6,8,10] println(reversenumeros); //print 10, 8, 6, 4, 2 varseq = [1 .. 10]; println( for (x in [1..4]) { x * x } ); //1, 2, 9, 16
  • 11. Classes publicclassCliente { public-init var nome: String; public-initvarcpf: String; public-initvartelefone: String; publicfunctionprintDados() { println("Cliente: {nome} – {cpf}"); } }
  • 12. Object Literal varcliente = Cliente { nome: "Claudia" cpf:"2091928912" telefone: "(11) 4444-6677" } cliente.printDados(); // Cliente: Claudia - 2091928912 cliente.cpf = "313123133"; //não compila
  • 13. Binding vara = "Java"; varb = binda; println("a:{a} b:{b}"); //a: Java b: Java a = “JavaFX"; //atualiza b println("a:{a} b:{b}"); //a: JavaFX b: JavaFX varx = 10; vary = bind (x+10); X = 15; //y modificado para 25
  • 14. Triggers vartexton replace oldValue { println("Oldvalue = '{oldValue}'"); println("Newvalue = '{text}'"); } text = "Hello"; Imprime: Oldvalue = '' Newvalue = 'Hello'
  • 15. Java SceneGraph Responsável por pintar os elementos gráficos; Esconde complexidade na renderização; Otimiza o repaint Evolução da alternativa adotada no Java 2D https://scenegraph.dev.java.net/ http://weblogs.java.net/blog/2007/12/11/our-new-java-scene-graph-open-sourced
  • 16. HelloWordFX Stage { title: "Hello FX!" scene: Scene { width: 250 height: 150 content: [ Label{ text: "Bem-vindo ao FX" } ] } }
  • 17. Objetos Gráficos Controls Buttons, Radio Button, CheckBox, Labels, ListItem ... Layouts Charts Text Shapes
  • 18. Customização de desenhos varretangulo = Rectangle { x:10 y:20 width:140 height:70 fill:Color.LIGHTBLUEstroke:Color.BLUE arcHeight:20 arcWidth:20 strokeWidth:3 } vardiamante = Polygon { points:[90,90, 110,70, 130,90, 110,110 ] fill:Color.LIGHTPINKstroke:Color.RED strokeWidth: 3 } varbalaozinho = ShapeIntersect { translateX:170 fill: Color.LIGHTGREEN stroke: Color.GREENstrokeWidth: 3 a: [retangulo, diamante] }
  • 19. Tratando eventos varretangulo: Rectangle = Rectangle { ... onMouseEntered: function( e: MouseEvent ): Void { retangulo.fill = Color.WHITESMOKE; } onMouseExited: function( e: MouseEvent ): Void { retangulo.fill = Color.LIGHTBLUE; } }
  • 20. Demonstração NetBeans / JavaFXComposer
  • 24. Referências http://javafx.com http://store.java.com http://steveonjava.com/ http://fxexperience.com http://jfxstudio.wordpress.com/ http://rakeshmenonp.wordpress.com/ http://www.yaw.com.br http://www.globalcode.com.br http://blog.globalcode.com.br
  • 25. Obrigado ! Eder Magalhães eder@yaw.com.br twitter.com/edermag