IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MXML Discussion :

Custom Component et Custom event en flex


Sujet :

MXML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    DEV
    Inscrit en
    Janvier 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DEV

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Custom Component et Custom event en flex
    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 :
    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);
    		}
    	}
    }
    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
    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>
    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
     
    <?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>
    n'importe quelle idée serait la bienvenue !! merci par avance

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2006
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    Remplace ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dispatchEvent(new Ev(Ev.UPDATE,event.newIndex.toString()));
    Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dispatchEvent(new Ev("onMenuChange" ,event.newIndex.toString()));
    Et dis-moi si ça marche.

Discussions similaires

  1. Custom component avec Flex
    Par choko83 dans le forum MXML
    Réponses: 1
    Dernier message: 24/05/2011, 15h19
  2. Réponses: 1
    Dernier message: 12/11/2006, 01h01
  3. Custom Component JSF et EL ?
    Par toutoune60 dans le forum JSF
    Réponses: 5
    Dernier message: 03/11/2006, 15h14
  4. custom component en jsf. gerer les encodeChildren
    Par ouedmouss dans le forum JSF
    Réponses: 1
    Dernier message: 29/06/2006, 19h23
  5. [JSF] mon premier custom component
    Par anitshka dans le forum JSF
    Réponses: 5
    Dernier message: 14/06/2005, 13h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo