You have to add the event listener to the object that dispatches the event
you want to listen to. If your panels have the ids "panel1" and "panel2" for
example, you have to do:

panel1.addEventListener(NewEvent.FLIP_EVENT, test);
panel2.addEventListener(NewEvent.FLIP_EVENT, test);

and not

this.addEventListener(NewEvent.FLIP_EVENT, test);

If in the event listener function (test) you need to know which panel
dispatched the event, you can use the event.target property or you can use a
different event listener for every panel.


Haykel Ben Jemia

Allmas
Web & RIA Development
http://www.allmas-tn.com




On Thu, Dec 18, 2008 at 12:09 PM, lorenzo.boaro <[email protected]>wrote:

>   Hi,
>
> i can't understand the custom event business!
>
> can you help me?
>
> i'll explain the problem..
>
> i've created this class:
>
> package events
> {
> import flash.events.Event;
>
> import mx.containers.Panel;
>
> public class NewEvent extends Event
> {
> public static const NEW_EVENT:String = "newEvent";
>
> override public function clone():Event {
> return new NewEvent(type);
> }
>
> public function NewEvent(type:String)
> {
> super(type);
> }
>
> }
> }
>
> the i have two custom panels that have 2 buttons respectively and in
> the mouse click event they dispatch the NewEvent event:
>
> var ne:NewEvent = new NewEvent(NewEvent.FLIP_EVENT);
> dispatchEvent(ne);
>
> after class definitions i put the event metadata tag correctly.
>
> finally a custom viewstack listens for panel events, in the
> constructor of the viewstack i put
>
> this.addEventListener(NewEvent.FLIP_EVENT, test);
>
> the function prova use the trace function to print a message.
>
> but i can't undestand why not works...maybe i made mistakes or i
> misunderstood listener concepts?
>
> thanks a lot
>
> Regards Lorenzo
>
>  
>

Reply via email to