2009-12-02 4 views

Répondre

5

UIComponent ne distribue un événement de type enabledChanged de sa méthode set enabled. Voici la source de cette méthode:

public function set enabled(value:Boolean):void 
{ 
    _enabled = value; 

    // Need to flush the cached TextFormat 
    // so it recalcs with the disabled color, 
    cachedTextFormat = null; 

    invalidateDisplayList(); 

    dispatchEvent(new Event("enabledChanged")); 
} 

Vous pouvez l'écouter en utilisant:

myComponent.addEventListener("enabledChanged", handleEnabledChanged); 
1

S'il s'agit de composants personnalisés, et je suppose que vous développez UIComponent (ou une classe enfant), pourquoi ne pas simplement remplacer la méthode Setter Enabled, puis envoyer un événement personnalisé dans ce cadre?

Quelque chose comme:

override public function set enabled(value:Boolean):void { 
    super.enabled = value; 
    dispatchEvent(new EnabledChangedEvent()); 
}