Javafx Introdução

  • View
    2.269

  • Download
    4

Embed Size (px)

DESCRIPTION

Introdução à Linguagem JavaFX Script

Text of Javafx Introdução

  • 1. JavaFX Script Introduo Fbio Nogueira de Lucena Instituto de Informtica (UFG) Graduao em Engenharia de Software http://engenhariadesoftware.inf.br

2. JavaFX uma famlia de produtos 3. Habilidade para criar contedo interativo, aplicaes e servios a serem executados do computador de mesa aos dispositivos da sala de estar Experincias de internet ricas para todas astelas da sua vida 4. Fonte de informaes javafx.com 5. Fonte de informaes java.sun.com/javafx 6. Componentes API JavaFX Script (linguagem de programao) JavaFX SDKOnde obt-los: javafx.com 7. Alguns links http://javafx.com http://java.sun.com/javafx http://www.javapassion.com/javafx/ Esta e outras apresentaes (slides): http://www.slideshare.net/kyrios 8. Importante Tudo o que existe em Java pode ser reutilizado em JavaFX Voc poder reutilizar suas classes Java! 9. Sentenas em JavaFX: Antes de um Exemplo 10. Comentrios Comentrio (mltiplas linhas) /* Comentrio que se estendepor mais de uma linha. */ Comentrio (uma nica linha) // At o nal da linha 11. Object literal Em Java Rectangle r = new Rectangle(); r.width = 10; r.height = 5; Em JavaFX Rectangle { width : 10 height: 5 } 12. Packages e imports Package package br.ufg.inf.projetoX; Import import javafx.stage.Stage; import javafx.scene.*; 13. Primeiro exemplo package jfx1;import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.text.*;/* Main.fx */Stage { title: "Ttulo da Aplicao (janela)" width: 250 height: 80 scene: Scene { content: Text { font : Font { size : 16 } x: 10, y: 30 content: "Meu primeiro teste" } } } 14. Como obt-lo? Repositrio dos exemplos http://exemplos.googlecode.com/svn/trunk/javafx Comando para obter localmente? (cria diretrio jfx1 a partir do repositrio) svn export /jfx1 jfx1 15. Como compilar e executar? V jfx1 o diretrio criado cd para Compilao javafxc -d~/tmp src/jfx1/Main.fx Execuo-cp javafx~/tmp jfx1.Main 16. Se o resultado for... Especique o encoding pertinente ao arquivo fonte (no momento da compilao) javafxc -d ~/tmp -encoding ISO-8859-1 src/jfx1/Main.fx Ao executar o~/tmp jfx1.Main javafx -cp resultado da compilao anterior O resultado... 17. Primeiro a linguagem,depois os recursos da API 18. Variveis e tipos (explcitos) var boolean: Boolean = true; var byte: Byte = 2; var short: Short = 3; var int:Integer = 4; var long: Long = 5; var oat: Float = 1.2; var double: Double = 2.0; 19. Tipos (implcitos) // var boolean : Boolean = true; // o mesmo que... var boolean = true; // var int : Integer = 4; // o mesmo que ... var int = 4; 20. Todos os tipos Boolean Integer Number String Duration Number sinnimo de Float Character ByteFloat equivalente a Number Short Long Float sinnimo de Number Float DoubleNumber equivalente a Float 21. Exemplo Boolean // Pacote: javafx.lang// Classe FX (vrios mtodos static)var logica : Boolean = false;FX.println(Valor: {not logica});// OUprintln(Valor: {not logica}); Notou que no houve concatenao explcita? 22. Constantesvar (varivel) def (constante) // Varivel var logica : Boolean = false; // CONSTANTE def pi = 3.1415926536; println(Valor: {pi}); 23. rea de um crculo var (varivel)def (constante)// Arquivo: x.fx // rea pi * raio * raio def pi = 3.1415926536; def raio = 2; // Dois metros println(rea: {pi*raio*raio}m2);Este cdigo compilvel e executvel! $ javafxc x.fx $ javafx x 24. Volume de um cilindro // rea pi * raio * raio def pi = 3.1415926536; def raio = 2; // Dois metros var area = pi * raio * raio; var altura = 1; // 1 metro var volume = area * altura * 1000; def (constante)var (varivel) println(Volume: {volume} litros);Este cdigo compilvel e executvel! $ javafxc x.fx $ javafx x 25. String ( ou ) def name : String = Nome; string ou s tringvar nAme = Nome; var iguais = {name == nAme}; // Imprime // Iguais?: true print(Iguais?: {iguais}); Este cdigo compilvel e executvel! $ javafxc x.fx $ javafx x 26. String (mltiplas linhas)s t var name = Pedro r i ng lvares ou s string ou s tring Cabral; tri ng // Imprime // Pedro lvares Cabral print(name); Este cdigo compilvel e executvel!$ javafxc x.fx$ javafx x 27. Duration Detalhes em javafx.lang.Duration var horas = 0h; var minutos = 1m; var segundos = 1s; var milissegundos = 1ms; var parcial = horas + milissegundos; print(parcial + minutos + segundos);Este cdigo compilvel e executvel! 28. Sequncia uma coleode objetos ordenados declarada com colchetes ([ e ]) Uma sequncia linear, no existem sequncias multidimensionais Sequncias so iguais se possurem o mesmo tamanho e os mesmos valores nas mesmas ordens Notao: tipo seguido de [] (por exemplo, Integer[]) sizeof recupera o tamanho da sequncia 29. Sequncias Sequence uma lista ordenada de elementos de um mesmo tipovar lista = [-1, 0, 1];def ordenada = [ false, true, true ];var mesmoTipo = [ A, Janela ];println(lista);println(ordenada);println(mesmoTipo);Nenhuma surpresa: 30. Sequncias Sequence uma lista ordenadade elementos de um mesmo tipo var ints : Integer[] = [1, 2,3]; def bs : Boolean[]=[false]; def vazia=[]; println(ints);println(bs);println(vazia); Nada espetacular... 31. Sequncias Sequence uma lista ordenadade elementos de um mesmo tipo // Vrgula como separador var strs = [ ok, correto ]; println(strs); Aplicao de 3 linhas: 32. Nem sempre...sequncias so explicitamente criadas por meio de seus elementos separados por vrgulas, nestes casos, ... 33. Faixas (sequncias numricas)Step padro 1 ou 1.0 dependendo do tipo do elemento var ints = [1..5]; // step 1 println(ints); var ns = [ 1.0..1.3 step 0.1]; println(ns); Arquivo n.fx compiladon (do nome do arquivo) executada 34. Faixas (sequncias numricas) Step padro 1 ou 1.0 dependendo do tipo do elemento println([1..