SESTINFO 2010JavaFXOverviewEder Magalhãeseder@yaw.com.brtwitter.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
JavaFXLanguageLinguagem de Script Orientada a Objetos Declarativa e procedural Linguagem de expressão Reconhece as classes do JavaTypeinferenceFunctions
Declaração Variáveisvarnome: String; ConstantesdefPI: Number = 22 / 7; Funçõesfunctionsomar(x: Number, y:Number): Number {   x + y;}
Data TypesWrapper primitivos do Java StringNumberDurationSequencesVoid
Sequencesvarnumeros = [2, 4, 6];insert [8, 10] intonumeros; //[2,4,6,8,10]println(reversenumeros); //print 10, 8, 6, 4, 2varseq = [1 .. 10];println( for (x in [1..4]) { x * x } ); //1, 2, 9, 16
ClassespublicclassCliente {public-init var nome: String;public-initvarcpf: String;public-initvartelefone: String;publicfunctionprintDados()  {println("Cliente: {nome} – {cpf}");	}}
Object Literalvarcliente = Cliente {	nome: "Claudia"cpf:"2091928912"	telefone: "(11) 4444-6677"}cliente.printDados(); // Cliente: Claudia - 2091928912cliente.cpf = "313123133"; //não compila
Bindingvara = "Java"; varb = binda; println("a:{a} b:{b}");  //a: Java b: Javaa = “JavaFX"; //atualiza b println("a:{a} b:{b}"); //a: JavaFX b: JavaFXvarx = 10; vary = bind (x+10);X = 15; //y modificado para 25
Triggersvartexton replace oldValue {println("Oldvalue = '{oldValue}'");println("Newvalue = '{text}'");}text = "Hello";Imprime:Oldvalue = ''Newvalue = 'Hello'
Java SceneGraphResponsável por pintar os elementos gráficos; Esconde complexidade na renderização; Otimiza o repaint Evolução da alternativa adotada no Java 2Dhttps://scenegraph.dev.java.net/http://weblogs.java.net/blog/2007/12/11/our-new-java-scene-graph-open-sourced
HelloWordFXStage {title: "Hello FX!"scene: Scene {width: 250height: 150content: [Label{ text: "Bem-vindo ao FX" }        ]    }}
Objetos GráficosControlsButtons, Radio Button, CheckBox, Labels, ListItem ... LayoutsChartsTextShapes
Customização de desenhosvarretangulo = Rectangle {	x:10 y:20 width:140 height:70fill:Color.LIGHTBLUEstroke:Color.BLUEarcHeight:20 arcWidth:20 strokeWidth:3 }vardiamante = Polygon {	points:[90,90, 110,70, 130,90, 110,110 ]fill:Color.LIGHTPINKstroke:Color.REDstrokeWidth: 3 }varbalaozinho = ShapeIntersect {translateX:170 fill: Color.LIGHTGREENstroke: Color.GREENstrokeWidth: 3	a: [retangulo, diamante] }
Tratando eventosvarretangulo: Rectangle = Rectangle {	...onMouseEntered: function( e: MouseEvent ): Void {retangulo.fill = Color.WHITESMOKE;	}onMouseExited: function( e: MouseEvent ): Void {retangulo.fill = Color.LIGHTBLUE;	}}
DemonstraçãoNetBeans / JavaFXComposer
Java Store
Livedemo - http://javafx.com/samples/
Perguntas & Respostas
Referênciashttp://javafx.comhttp://store.java.comhttp://steveonjava.com/http://fxexperience.comhttp://jfxstudio.wordpress.com/http://rakeshmenonp.wordpress.com/http://www.yaw.com.brhttp://www.globalcode.com.brhttp://blog.globalcode.com.br
Obrigado !Eder Magalhãeseder@yaw.com.brtwitter.com/edermag

JavaFX SestInfo 2010