Adobe Flex, Eventos  XML
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Autor Mensagem
Andre_JavaWorld
JavaTeenager
[Avatar]

Membro desde: 29/06/2007 12:48:07
Mensagens: 166
Localização: Saint Cyr L'ecole, France
Offline

Bom dia Pessoal,


Estou precisando disparar eventos entre um titlewindow e outro... na verdade um titlewindow é responsavel por coletar alguns dados do usuario, e o outro deve exibir informacoes especificas sobre o mesmo, o que quero fazer entao é, disparar um evento contendo as informacoes do usuario entradas na janela a, e capturar o evento na janela b, mas quando faco o seguinte na janela a:



nao consigo caputar o evento na janela b



Alguem sabe como posso estar disparando um evento de uma janela para que a outra consiga captura-lo?


Abraços

André Martins

[Email] [MSN]
Jesuino Master
GUJ Ranger
[Avatar]

Membro desde: 12/02/2009 08:40:06
Mensagens: 783
Offline

Adicione o mesmo evento listener para as duas janelas!

Não crie uma nova instância com o New, crie uma só e referencie nas duas Janelas...

EDIT: Provavelmente me confundi(Swing), não sei se o que falei é válido

This message was edited 1 time. Last update was at 12/10/2009 11:00:20


William Antônio Siqueira
Analista de Suporte
Blog e Twitter
Site Pessoal
Projetos? Idéias? Críticas? MP!
Não tome uma opinião como verdade absoluta!
andre.gil
JavaBaby
[Avatar]

Membro desde: 01/10/2009 09:08:15
Mensagens: 81
Offline

Bom dia Andre,

Acredito que o problema seja em como você está adicionando o listner ou disparando o evento. Quando você cria um listner na Janela B e dispara o evento na Janela A, a Janela B não vai capturar esse evento pois ele foi disparado na Janela A somente. O ideal seria que você disparasse o evento na Janela A e capturasse ele na "Janela Pai", onde os dois componentes se encontram. Ai da Janela Pai, você chama o método da Janela B que vai fazer o que você quer.

Um outro modo de fazer, só que meio incorreto pois dificulta a manutenção da aplicação, seria adicionar o listner e disparar o evento no pai das janelas. Usando parent.addEventListner e depois parent.dispatchEvent.

Espero ter ajudado.
[]s

André Gil

www.dclick.com.br
blog.dclick.com.br
http://andregil.net/
[WWW]
Thiago Felix
HelloWorld
[Avatar]

Membro desde: 29/09/2009 12:34:23
Mensagens: 11
Localização: São Paulo
Offline

Andre.

Complementando o que o Gil disse.

Imagine que os componentes de vizualização que voce inclui na sua aplicação flex são gerenciados em forma de arvore, esta arvore é chamada de display list. Ex.

->Application
----->TitleWindowA
---------->Button
---------->Form
---------->etc...
----->TitleWindowB
---------->ControlBar
---------->Panel
---------->etc.

Tendo isso em mente ajudará a intender como funciona o "Event Flow" ( Fluxo do Evento ) do flex.

Event Flow: Quando você dispara um evento, ele passa por 3 fase (Capturing, Targeting, Bubbling) nesta ordem, em cada uma destas fazes os nós da arvore (descrita acima) podem reagir de alguma maneira, ou seja, podem executar alguma tarefa/método. Durante a fase de "capturing" o evento passa por cada elemento da display list seguindo a order parent-child verificando se há algum listener até chegar no objeto que originou o evento ( ou seja, o objeto que disparou o evento). A fase de "targetting" o flex irá notificar somente os "event dispatcher's listeners" que são os listeners que estão diretamente relacionado ao responsável por criar o evento. E por ultimo a fase "bubbling" onde o flex percorre os nós da display list na order child-parent à partir do objeto que lançou o evento até o primeiro nó da arvore executando os listeners de cada um.

Baseado na idéia de Event Flow em alguns tipos de eventos você consegue executar o mesmo listener em 3 diferentes fases. Existem algumas regras, pois nem todos eventos podem ser capiturados durante a fase de "capturing", e nem todo objeto pode fazer listener durante a faze de bubbling. Para saber todos os detalhes vale a pena dar uma olhada na documentação da Adobe que é muito detalhada nesta parte de eventos e tirar todas as suas duvidas.

Event
Event Propagation

This message was edited 1 time. Last update was at 14/10/2009 08:08:46


Thiago Felix

www.dclick.com.br
blog.dclick.com.br
[Email] [WWW] aim icon [MSN]
 
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team