JavaFX

2,417 views
2,383 views

Published on

Palestra sobre JavaFX que apresentei na I Semana da Computação do DI/UFPB. Introdução à plataforma JavaFX e ao JavaFX Script.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,417
On SlideShare
0
From Embeds
0
Number of Embeds
793
Actions
Shares
0
Downloads
85
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

JavaFX

  1. 1. Raphael Marques Mestrando em Informática da UFPB jose.raphael.marques@gmail.com raphaelmarques.wordpress.com
  2. 2. O que é JavaFX?  Coisas que você pode construir com JavaFX  Por que JavaFX?  JavaFX Script  GUI com JavaFX  Por onde começar?  Exemplos  2
  3. 3. 4
  4. 4. Uma família de tecnologias   JavaFX Runtime  JavaFX Script  JavaFX Tools Para quem?   Designers  Desenvolvedores 5
  5. 5. 7
  6. 6. 8
  7. 7. 9
  8. 8. 10
  9. 9. 11
  10. 10. 12
  11. 11. 13
  12. 12. 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
  13. 13. 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
  14. 14. def RAIO = 4; def PI = 3.1415; var area = PI * RAIO * RAIO; println(“a area eh: {area}” ); //a area eh: 50264 18
  15. 15. var ativado = true; var visivel: Boolean = false; println(quot;Ativado: {ativado}quot;); //Ativado: true println(quot;Visivel: {visivel}quot;); //Visivel: false visivel = true; println(quot;Visivel: {visivel}quot;); //Visivel: true 19
  16. 16. var inteiro: Integer = 3; var numero: Number = 3.0; println(quot;inteiro: {inteiro}quot;); //inteiro: 3 println(quot;numero: {numero}quot;); //numero: 3.0 println(quot;conversao: {numero as Integer}quot;); //conversao: 3 20
  17. 17. var s1 = quot;Helloquot;; var s2: String = quot;Helloquot;; var s3 = quot;Hello 'world'quot;; var s4 = 'Hello quot;worldquot;'; println(s3); //Hello 'world' println(s4); //Hello quot;worldquot; 21
  18. 18. var s1 = quot;Javaquot;; var s2 = quot;FXquot;; var s3 = quot;{s1}{s2}quot;; println(s3); //JavaFX 22
  19. 19. var d1 = 1ms; var d2 = 1s; var d3: Duration = 1m; var d4: Duration = 1h; var d5 = 1m + 15s; 23
  20. 20. def PI = 3.1415; def RAIO = 4; println(quot;area: {getArea(RAIO)}quot;); //area: 50.264 function getArea(raio: Number): Number{ var area = PI * raio * raio; return area; } 24
  21. 21. class Conta{ var nome: String; var numeroDaConta: Integer; var saldo: Number = 1000; } var conta = Conta{ nome: quot;Raphael Marquesquot; numeroDaConta: 123456 } println(quot;nome: {conta.nome}quot;); //nome: Raphael Marques 25
  22. 22. class Conta{ var nome: String; var numeroDaConta: Integer; var saldo: Number = 1000; function deposito(valor: Number){ saldo += valor; } } 26
  23. 23. var software: String[] = [quot;Solarisquot;, quot;Javaquot;, quot;JavaFXquot;]; var hardware: String[] = [quot;Atomquot;, quot;Sempronquot;, quot;GForcequot;]; var produtos = [software hardware]; println(software); //[ Solaris, Java, JavaFX ] println(hardware); //[ Atom, Sempron, GForce ] println(produtos); //[ Solaris, Java, JavaFX, Atom, Sempron, GForce ] 27
  24. 24. 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(quot;{n1 == n2}quot;); //true println(quot;{n1 == n3}quot;); //false println(quot;{n1 == n4}quot;); //false 28
  25. 25. 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 ] 29
  26. 26. 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 30
  27. 27. var a = quot;Raphael Marquesquot;; var b = 123456; var c = 1000; var conta = bind Conta{ nome: a numeroDaConta: b saldo: c } 31
  28. 28. var a = quot;Raphael Marquesquot;; var b = 123456; var c = 1000; var conta = Conta{ nome: bind a numeroDaConta: bind b saldo: bind c } 32
  29. 29. public class HelloWorldSwing{ public static void main(String[] args){ JFrame frame = new JFrame(quot;HelloWorld Swingquot;); JLabel label = new JLabel(quot;Hello Worldquot;); frame.getContentPane().add(label); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } } 34
  30. 30. Stage { title: quot;Hello World em JavaFXquot; width: 250 height: 80 scene: Scene { content: Text { content: quot;Hello World!quot; x: 10 y: 30 font : Font { size : 24 } } } } 35
  31. 31. Stage{ title: quot;Declarar eh facil!quot; width: 250 height: 250 } 36
  32. 32. Stage{ title: quot;Declarar eh facil!quot; scene: Scene{ width: 250 height: 250 } } 37
  33. 33. Stage{ ... scene: Scene{ ... content: [ Rectangle{ x: 45 y: 45 width: 160 height: 160 arcWidth: 15 arcHeight: 15 fill: Color.GREEN } ] } } 38
  34. 34. ... content: [ Rectangle{ ... } Circle{ centerX: 125 centerY: 125 radius: 90 fill: Color.WHITE stroke: Color.RED } ] ... 39
  35. 35. ... content: [ Circle{ ... } Rectangle{ ... } ] ... 40
  36. 36. ... content: [ Circle{ ... } Rectangle{ ... opacity: 0.6 } ] ... 41
  37. 37. ... Rectangle{ ... transforms: Rotate{ pivotX: 125 pivotY: 125 angle: 15 } } ... 42
  38. 38. ... Rectangle{ ... effect: Lighting{ surfaceScale: 5 } } ... 43
  39. 39. 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; } } ... 44
  40. 40. ... Group{ Group transforms: Translate{ x: 15 y: 15 } content: [ Text{ ... Translate } Circle{ ... } ] Text Circle } ... 45
  41. 41. 46
  42. 42. JavaFX   http://javafx.com/ JavaFX Developer Home   http://java.sun.com/javafx/ JavaFX Programing (with Passion!)   http://www.javapassion.com/javafx/ 48
  43. 43. 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
  44. 44. 50
  45. 45. Raphael Marques Mestrando em Informática da UFPB jose.raphael.marques@gmail.com raphaelmarques.wordpress.com

×