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 > > >

