Salut,
J'essaie de mieux comprendre les événements dans flex.
J'ai fait une petite application qui ne fait absolument rien sinon créer deux objets.
Le premier objet (Manager) est ajouté à l'application. Il crée un objet Location et écoute les événements du type "READY".
le second objet (Location) , cré par Manager, dispatch en event du type "READY".
Je ne comprends pas pourquoi l'événement n'est pas intercepté au niveau de l'objet manager?
ci joint dessous le code et en pièce jointe le projet flex.
Merci de vos éclairages
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" initialize="init()"> <mx:Script> <![CDATA[ import app.Manager; private function init():void{ var m:Manager = new Manager(); this.addChild(m); } ]]> </mx:Script> </mx:Application>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package app { import flash.events.Event; import mx.controls.Alert; import mx.core.UIComponent; public class Manager extends UIComponent { public function Manager() { this.addEventListener("READY", onReady); var l:Location = new Location(); this.addChild(l); trace("hello from manager constructor"); } private function onReady(e:Event):void{ Alert.show("Location is ready"); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package app { import flash.events.Event; import mx.core.UIComponent; public class Location extends UIComponent { public function Location() { var e:Event = new Event("READY",true,false); dispatchEvent(e); trace("hello from Location Constructor"); } } }
Partager