bonsoir ,
j'ai un sérieux problème qui m'empêche de réaliser un projet , et qui pour l'instant me bloque et ne me permet pas de passer au étapes suivantes de ma réalisation je m'explique ; je voudrais que toutes les composantes de mon projet soient en forme de composantes atomiques et un contrôleur unique qui contrôlera un objet conteneur ... bref ça c'est juste la partie apparente de l'iceberg.
Mon problème est que je n'arrive pas à capturer les évènements provenant d'un custom component voici un exemple de mon code !
Custom Event :
Custom component :
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 package events { import flash.events.Event; public class Ev extends Event { public static const UPDATE:String="update"; public var data:String; public function Ev(type:String,data:String) { super(type); this.data=data; } override public function clone():Event { return new Ev(type,data); } } }
et finalement mon conteneur qui utilise mon custom component ! or lors du clic sur l'accordion de mon custom component j'arrive pas à "catcher" mon évènement !!!
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
23
24
25
26
27
28
29
30
31
32
33 <?xml version="1.0" encoding="utf-8"?> <mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <fx:Metadata> [Event(name="onMenuChange",type="events.Ev")] </fx:Metadata> <fx:Script> <![CDATA[ import events.Ev; import mx.events.IndexChangedEvent; protected function accordion1_changeHandler(event:IndexChangedEvent):void { dispatchEvent(new Ev(Ev.UPDATE,event.newIndex.toString())); } ]]> </fx:Script> <fx:Declarations> <!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). --> </fx:Declarations> <mx:Accordion width="200" height="200" change="accordion1_changeHandler(event)"> <s:NavigatorContent label="Menu 1" width="100%" height="100%"> </s:NavigatorContent> <s:NavigatorContent label="Menu 2" width="100%" height="100%"> </s:NavigatorContent> <s:NavigatorContent label="Menu 3" width="100%" height="100%"> </s:NavigatorContent> </mx:Accordion> </mx:VBox>
n'importe quelle idée serait la bienvenue !! merci par avance
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 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*"> <fx:Script> <![CDATA[ import events.Ev; import mx.controls.Alert; protected function comp1_onMenuChangeHandler(event:Ev):void { Alert.show(event.data,"notice"); } ]]> </fx:Script> <local:Comp onMenuChange="comp1_onMenuChangeHandler(event)"/> </s:Application>![]()
Partager