Tutorial JavaFX simples
-
Upload
clodoaldo-brasilino -
Category
Education
-
view
12.079 -
download
2
description
Transcript of Tutorial JavaFX simples
JavaFXClodoaldo Brasilino Leite Neto
O que é JavaFX?
O que é JavaFX?
A Plataforma JavaFX
A Plataforma JavaFX
Uma família de tecnologias◦JavaFX Runtime◦JavaFX Script◦JavaFX Tools
Para quem?◦Designers◦Desenvolvedores
JavaFX, Flex ou Silverlight?
Java, Flash ou .Net?
Sun, Adobe ou Microsoft?
Temos Flex e Silverlight... Por que JavaFX?
Por que JavaFX?
Uma única plataforma RIA para todas as telas
Mercado de amplo alcanceFluxo de trabalho designer-desenvolvedorRuntime poderosoLiberdade do browserCompatibilidade com tecnologias Java
Exemplos de Aplicação JavaFX
Exemplos de Aplicação JavaFX
Por onde começar?
Sites básicos
JavaFX◦http://javafx.com/
JavaFX DeveloperHome◦http://java.sun.com/javafx/
JavaFX Programing(withPassion!)◦http://www.javapassion.com/javafx/
Raphael Marques – Meu tutor! ◦http://raphaelmarques.wordpress.com/
Ferramentas Atuais
Windows, Linux, Mac OS X e Solarisx86
JavaFX 1.2 SDK
NetbeansIDE 6.5.1 para JavaFX 1.2
JavaFX 1.2 ProductionSuite◦Plugin para Adobe Illustrator e Adobe Photoshop◦Media Factory
JavaFX Graphics Viewer e SVG Converter
JavaFX Script
Tipos “Primitivos”
Tipos de dados básicos (não nulos)◦Integer◦Number◦Boolean◦Duration
StringSequenceFunction
Declaração de Variáveis
var string1= “JavaFX"; var string2: String = “JavaFX";var integer1= 3;var integer2: Integer= 3;var number1= 3.0;var number2: Number= 3;var number3= 3 as Number;var number4= integer1+ number1;
Tolo! Você não declarou o tipo de suas variáveis! Irá arder no fogo do inferno e seu código não compilará!
Não precisa, rapaz! JavaFX possui INFERÊNCIA DE TIPOS!
println(“JavaFX rules”);//JavaFX rulesprintln(‘JavaFX rules’);//JavaFX rulesprintln(“JavaFX ‘rules’ ”);//JavaFX ‘rules’println(‘JavaFX “rules” ’);//JavaFX “rules”
Strings
Strings
var string1= “JavaFX";var string2: String = “rules";
println(“{string1} {string2}”);//JavaFX rules
“Valor de x: {x}”“Valor de x: {objeto.getX()}”
Operadores
Integer e Number:◦+◦-◦*◦/◦mod
Boolean◦and◦or◦not
var t1: Duration= 1ms;var t2= 1s;var t3= 1m;var t4= 1h;println("{t1} {t2} {t3} {t4}");
//1ms 500ms 60000ms 3600000ms
println(1s+ 500ms);//1500.0msprintln(1s/ 500ms);//2.0println(1s*2);//2000.0msprintln(1s/2);//500.0ms
Functions
def PI= 3.1416;
function calcArea(raio: Number): Number{return PI* raio * raio;
}
var raio= 5;
var area= calcArea(raio);
def PI= 3.1416;
function calcArea(raio: Number) {return PI* raio * raio;
}
var raio= 5;
var area= calcArea(raio);
def PI= 3.1416;
function calcArea(raio: Number) {PI* raio * raio;
}
var raio= 5;
var area= calcArea(raio);
def PI= 3.1416;
var calcArea = function(raio: Number) {PI* raio * raio;
}
var calcPerimetro = function(raio: Number) {PI* raio * 2;
}
var calc= calcArea;println(calc(5));
calc= calcPerimetro;println(calc(5));
def PI= 3.1416;
var calcArea = function(raio: Number) {PI* raio * raio;
}
var calcPerimetro = function(raio: Number) {PI* raio * 2;
}
var calc: function (Number):Number = calcArea;println(calc(5));
calc= calcPerimetro;println(calc(5));
class A{var x= 0;function getx(){
x;}
}var a= A{x:1};var b= A{x:2};
var f= a.getx;var g= b.getx;
println(f());//1println(g());//2
Binding
Binding
var x = 1;var y = bind x;var z = bind y * 2;
println("{x} {y} {z}");//1 1 2
x = 2;
println("{x} {y} {z}");//2 2 4
Binding
var a = 1;var b = bind a with inverse;
println("{a} {b}");//1 1
a = 2;
println("{a} {b}");//2 2
b = 3;
println("{a} {b}");//3 3
var x = 10;var y = 20;var rect1 = Rectangle{
x: bind x;y: bind y;
}; var rect2 = bind Rectangle{
x: x;y: y;
};
Binding
def PI = 3.1416;var raio = 5;bound function calcArea(){
PI * raio * raio;}var area = bind calcArea();println(area);// 78.53999raio = 10;println(area);// 314.15997
Binding
var a = 1 on replace old{println("changing");println("old: {old}");println("new: {a}");
};a = 3;
Trigger
var a = 1 on replace old{println("changing");println("old: {old}");println("new: {a}");
};a = 3;
//changing//old: 0//new: 1//changing//old: 1//new: 3
Trigger
GUI com JavaFX
public class HelloWorldSwing{public static void main(String[] args){ JFrameframe = new JFrame("HelloWorldSwing"); Jlabellabel= new JLabel("HelloWorld"); frame.getContentPane().add(label); frame.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true);}
}
Hello World com Swing
Stage{ title: "HelloWorld em JavaFX" width: 250 height: 80 scene: Scene{ content: Text{ content: "HelloWorld!" x: 10 y: 30 font: Font{ size: 24 } } }}
Hello World com JavaFX
Stage{title: "Declarar eh facil!"width: 250height: 250
}
Hello World com JavaFX
Stage{title: "Declarar eh facil!"scene: Scene{
width: 250height: 250
}}
Hello World com JavaFX
Objetos em Content
Posição dos Objetos na cena
Posição dos Objetos em cena
Posição dos Objetos em cena
Transformações
Efeitos
Efeitos e Transformações
Eventos
Agrupamentos
ImageView{image: Image{
url: "{__DIR__}imagem.png"}rotate: 15scaleX: 2
}
Imagens
Vídeo