Javafx Avancado

75 %
25 %
Information about Javafx Avancado

Published on May 8, 2009

Author: kyrios

Source: slideshare.net

JavaFX Script Classes, binding e outros elementos Fábio Nogueira de Lucena Instituto de Informática (UFG) Graduação em Engenharia de Software http://engenhariadesoftware.inf.br

Visão geral de recursos “avançados”

Classe

Sobrescrever para 1 objeto

Binding: permite associar variável ao valor de uma expressão

Binding ã é Binding expressions são automaticamente reavaliadas quando suas dependências mudam

Binding ã é Binding expressions são automaticamente reavaliadas quando suas dependências mudam

Binding Binding expressions são automaticamente reavaliadas quando suas dependências mudam

Binding Á í Á í Lembre-se: binding expressions são reavaliadas quando suas dependências mudam

O que está acontecendo? O runtime de JavaFX “sabe” que o valor de a deve ser atualizado sempre que o valor da expressão pi * raio * raio for alterado, ou seja, sempre que pi ou o valor de raio for alterado. Quando isto ocorre, o runtime reavalia a expressão e o resultado é depositado na variável a!

Mais um exemplo... var x = 1; def dobro = bind 2 * x; def msg = bind "O dobro de {x} é {dobro}"; println(msg); x = 2; println(msg); Lembre-se: binding expressions são reavaliadas quando suas dependências mudam

Binding (if) Á í Á í O binding depende, neste exemplo, da condição, do corpo do then e do else, ou seja, das variáveis r e pi

Binding (if) á Á í Á í O binding depende, neste exemplo, da condição, do corpo do then e do else, ou seja, nas variáveis r e pi

Binding (for) O binding depende apenas da variável fim

Binding (for) var fim = 1; var passo = 1; var y = 3; var seq = bind [1..fim step passo]; def s = bind for (x in seq where x<y) x; println(s); // [ 1 ] fim = 2; println(s); // [ 1 2 ] passo = 2; println(s); // [ 1 ] y = -1; println(s); // [ ] seq depende de fim e de passo s depende de seq e y

Binding (block) z depende de aux, que depende de x e y OU SEJA, z depende de x e y

Binding (function) Pode existir binding para uma função A função pode ser non-bound ou bound DEPENDÊNCIA Binding para non-bound function: argumentos Binding para bound function: bloco

Binding (non-bound function) O binding de resultado depende de x e y Quando x ou y mudar, fazAlgo é executada e o valor obtido é depositado em resultado

Binding (bound function) O binding de resultado depende de k*x+y Quando x ou y ou k mudar, fazAlgo é executada e o valor obtido depositado em resultado

Binding (object literal) Variável com binding para object literal depende da união das dependências de todas as expressões do lado direito das variáveis de instância. Não inclui dependências de variáveis de instâncias para as quais há binding. Quando ocorre mudança, cria-se uma nova instância!

Binding (object literal) O binding de a depende de varNome Quando varNome mudar, uma nova instância é criada e passa a ser referenciada por a

Binding (object literal) O binding de a não depende de varNome Quando varNome mudar, apenas o valor de a.nome é alterado.

Binding bidirecional Binding bidirecional acrescente with inverse ao final da expressão envolvendo o binding

Binding bidirecional O binding de y depende de a e vice-versa Quando a mudar y também muda Quanto y mudar a também muda

Variável (function) var operacao : function(:Byte, :Byte) : Byte; var add = function(x:Byte, y:Byte) { x + y }; var sub = function(x:Byte, y:Byte) { x - y }; var pro = function(x:Byte, y:Byte) { x * y }; var div = function(x:Byte, y:Byte) { x / y }; var ops = [ add, sub, pro, div ]; for (op in ops) { println(op(10,2)); } Qual o resultado?

Variável (function) Qual o resultado?

Variável (function) Inferência de tipos tornou desnecessário indicar o tipo da variável f, ao contrário do exemplo anterior (tipo explicitado)

Triggers

Considerações finais Nem tudo de JavaFX foi abordado Tratamento de exceções Classes (herança múltipla, init, postinit, ...) Organização do código em packages, classes,... Modificadores de acesso: public-init, public-read, ... Visão geral é suficiente para “aprofundar”

Add a comment

Related presentations

Related pages

Webinar: Introdução ao JavaFX 8 - YouTube

Webinar: Introdução ao JavaFX 8 Softblue Cursos. Subscribe Subscribed Unsubscribe ... Webinar abordando uma introdução completa ao Java FX 8.
Read more

JavaFX pode decolar nas mãos da Oracle? - Google Groups

Apresentado durante a conferência JavaOne em maio de 2007, o JavaFX queria pegar carona no mercado crescente de desenvolvimento de aplicações ...
Read more

Trilha do Aprendizado das Aplicações de GUI do Java ...

JavaFX é um conjunto avançado de gráficos e pacotes de mídia que permite aos desenvolvedores projetar, criar, testar, depurar e implantar aplicações ...
Read more

Aprendendo JavaFX: O que é JavaFX?

JavaFX é a nova biblioteca gráfica da plataforma Java. No Java 8 virá como padrão, dentro do Java. Mas o que você pode fazer com JavaFX?
Read more

Java – Avançado – Edinaldo – Tecnologia Em Ação

Categoria: Java – Avançado. Aplicado a programação Java. Jpa + hibernate com JavaFx, problema na conexão. Este post veio de um seguinte problema, ...
Read more

Curso de Java Avançado - YouTube

Curso de Java Avançado Softblue Cursos. Subscribe Subscribed Unsubscribe 4,525 4K. ... Webinar: Introdução ao JavaFX 8 - Duration: 3:19:16.
Read more

Curso de Java Avançado Online JV-02 - Softblue - Cursos ...

JavaFX: Conceitos Fundamentais Conceitos e arquitetura do JavaFX Layout Panes e Controles Tratamento de eventos JavaFX: Tópicos Avançados ...
Read more

Aprendendo JavaFX: Algumas boas práticas para criação ...

Para aprender como iniciar com o JavaFX 8, vejam esse artigo Veja um CRUD completo com JavaFX 8! Nessa primeira postagem vamos mostrar ...
Read more

OPORTUNIDADES TI COM ESPANHOL AVANÇADO - LONDRINA ...

OPORTUNIDADES TI COM ESPANHOL AVANÇADO – LONDRINA LÍDER DE PROJETO – LONDRINA. Idioma: Espanhol Avançado/ Fluente. Conhecimento em ITIL.
Read more