Upload
raphael-marques
View
2.077
Download
1
Embed Size (px)
DESCRIPTION
Palestra sobre JavaFX que apresentei na I Semana da Computação do DI/UFPB. Introdução à plataforma JavaFX e ao JavaFX Script.
Citation preview
Raphael Marques
Mestrando em Informática da [email protected]
O que é JavaFX?
Coisas que você pode construir com JavaFX
Por que JavaFX?
JavaFX Script
GUI com JavaFX
Por onde começar?
Exemplos
2
4
Uma família de tecnologias
JavaFX Runtime
JavaFX Script
JavaFX Tools
Para quem?
Designers
Desenvolvedores
5
7
8
9
10
11
12
13
Uma única plataforma RIA para todas as telas
Desktop, browser e celular (futuramente TVs)
Mercado de amplo alcance
Bilhões de dispositivos
Fluxo de trabalho designer-desenvolvedor
Redução drástica do ciclo de desenvolvimento
15
Runtime poderoso Onipresença, poder, performance e segurança do
Java
Liberdade do browser Arraste suas aplicações do browser para o
desktop
Compatibilidade com tecnologias Java Use qualquer biblioteca Java
16
def RAIO = 4;
def PI = 3.1415;
var area = PI * RAIO * RAIO;
println(“a area eh: {area}” );
//a area eh: 50264
18
19
var ativado = true;var visivel: Boolean = false;
println("Ativado: {ativado}");//Ativado: trueprintln("Visivel: {visivel}");//Visivel: false
visivel = true;
println("Visivel: {visivel}");//Visivel: true
20
var inteiro: Integer = 3;var numero: Number = 3.0;
println("inteiro: {inteiro}");//inteiro: 3
println("numero: {numero}");//numero: 3.0
println("conversao: {numero as Integer}");//conversao: 3
21
var s1 = "Hello";var s2: String = "Hello";
var s3 = "Hello 'world'";var s4 = 'Hello "world"';
println(s3);//Hello 'world'
println(s4);//Hello "world"
22
var s1 = "Java";
var s2 = "FX";
var s3 = "{s1}{s2}";
println(s3);
//JavaFX
var d1 = 1ms;
var d2 = 1s;
var d3: Duration = 1m;
var d4: Duration = 1h;
var d5 = 1m + 15s;
23
24
def PI = 3.1415;def RAIO = 4;
println("area: {getArea(RAIO)}");//area: 50.264
function getArea(raio: Number): Number{var area = PI * raio * raio;return area;
}
25
class Conta{var nome: String;var numeroDaConta: Integer;var saldo: Number = 1000;
}
var conta = Conta{nome: "Raphael Marques"numeroDaConta: 123456
}
println("nome: {conta.nome}");//nome: Raphael Marques
26
class Conta{
var nome: String;
var numeroDaConta: Integer;
var saldo: Number = 1000;
function deposito(valor: Number){
saldo += valor;
}
}
27
var software: String[]= ["Solaris", "Java", "JavaFX"];
var hardware: String[]= ["Atom", "Sempron", "GForce"];
var produtos = [software hardware];
println(software);//[ Solaris, Java, JavaFX ]println(hardware);//[ Atom, Sempron, GForce ]println(produtos);//[ Solaris, Java, JavaFX, Atom, Sempron, GForce ]
28
var n1: Integer[] = [1..10];var n2: Integer[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];var n3: Integer[] = [1, 2, 3, 5, 4, 6, 7, 8, 9, 10];var n4: Integer[] = [1..11];
println("{n1 == n2}");//trueprintln("{n1 == n3}");//falseprintln("{n1 == n4}");//false
29
var n1: Integer[] = [1..10];var n2: Integer[] = n1;
var n3 = n1[valor | (valor mod 2) == 0];println(n3);//[ 2, 4, 6, 8, 10 ]
var n5 = [1..10 step 2];println(n5);//[ 1, 3, 5, 7, 9 ]
var n6 = for(n in n1){n * 2};println(n6);//[ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ]
30
var variavel1 = 0;var variavel2 = bind variavel1;
variavel1 = 5;println(variavel2); //5
variavel1 = 10;println(variavel2); //10
var variavel3 = bind variavel2 * variavel2;println(variavel3); //100
31
var a = "Raphael Marques";
var b = 123456;
var c = 1000;
var conta = bind Conta{
nome: a
numeroDaConta: b
saldo: c
}
32
var a = "Raphael Marques";
var b = 123456;
var c = 1000;
var conta = Conta{
nome: bind a
numeroDaConta: bind b
saldo: bind c
}
34
public class HelloWorldSwing{
public static void main(String[] args){
JFrame frame =
new JFrame("HelloWorld Swing");
JLabel label =
new JLabel("Hello World");
frame.getContentPane().add(label);
frame.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
35
Stage {title: "Hello World em JavaFX"width: 250 height: 80scene: Scene {
content: Text {content: "Hello World!"x: 10 y: 30font : Font {
size : 24}
}}
}
36
Stage{
title: "Declarar eh facil!"
width: 250
height: 250
}
37
Stage{
title: "Declarar eh facil!"
scene: Scene{
width: 250
height: 250
}
}
38
Stage{...scene: Scene{
...content: [
Rectangle{x: 45 y: 45width: 160 height: 160arcWidth: 15 arcHeight: 15fill: Color.GREEN
}]
}}
39
...content: [
Rectangle{...
}Circle{
centerX: 125 centerY: 125radius: 90fill: Color.WHITEstroke: Color.RED
}]...
40
...
content: [
Circle{
...
}
Rectangle{
...
}
]
...
41
...content: [
Circle{...
}Rectangle{
...opacity: 0.6
}]...
42
...
Rectangle{
...
transforms: Rotate{
pivotX: 125 pivotY: 125
angle: 15
}
}
...
43
...
Rectangle{
...
effect: Lighting{
surfaceScale: 5
}
}
...
44
var x: Number; var y: Number;
var dx: Number; var dy: Number;
...
Rectangle{
x: bind 45 + x + dx
y: bind 45 + y + dy
...
onMouseDragged: function(e: MouseEvent){
dx = e.dragX; dy = e.dragY;
}
onMouseReleased: function(e: MouseEvent){
x += dx; y += dy;
dx = 0; dy = 0;
}
}
...
...Group{
transforms: Translate{x: 15 y: 15
}content: [
Text{...
}Circle{
...}
]}...
45
Group
Translate
CircleText
46
JavaFX
http://javafx.com/
JavaFX Developer Home
http://java.sun.com/javafx/
JavaFX Programing (with Passion!)
http://www.javapassion.com/javafx/
48
Windows e Mac OS X
Netbeans IDE 6.5 para JavaFX 1.1.1
JavaFX 1.1 Production Suite
Plugin para Adobe Illustrator e Adobe Photoshop
Media Factory
▪ JavaFX Graphics Viewer e SVG Converter
JavaFX 1.1.1 SDK
49
50
Raphael Marques
Mestrando em Informática da [email protected]