Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
flash.events 

EventDispatcher  - AS3

Packageflash.events
Classepublic class EventDispatcher
HéritageEventDispatcher Inheritance Object
Implémente IEventDispatcher
Sous-classes AbstractEntityMetadata, AbstractInvoker, AbstractServiceWrapper, Accelerometer, AdvancedStyleClient, AnimatorBase, ApplicationUpdater, ApplicationUpdaterUI, ArrayList, AssetHandlerRegistry, AssetHandlerRegistry, AssetManager, AssetManager, AssetModel, AsyncToken, AudioDeviceManager, AuditManager, AutomationManager, AxisBase, AXMToolPopUpDropDownController, BaseAssetHandler, BaseFilter, BaseListData, BaseModuleInstance, BitmapFill, CacheDataDescriptor, CallResponder, Camera, CameraRoll, CameraUI, CategoryHandler, CategoryManager, CategoryModel, CCRDefaultActionHandler, Channel, ChannelSet, ChartItem, ConditionAssignmentModel, ConditionHandler, ConstraintColumn, ConstraintRow, ContainerLayoutAssignmentModel, ContentCache, ContentRequest, ContentSearchManager, Context3D, CSSStyleDeclaration, DataDictionaryHandler, DataDictionaryInstance, DataDictionaryInstanceModel, DataDictionaryManager, DataElementModel, DatagramSocket, DataProvider, DataServiceWrapper, DataStore, DataTransform, DDIModelVariableResolver, DEPDictionaryModel, DesignLayer, DeviceRotation, DisplayLayer, DisplayObject, DNSResolver, DRMManager, DropDownController, EditorConfigurationManager, Effect, EffectInstance, EffectManager, ExpressionEvaluationService, ExtensionContext, ExtensionsConfigManager, FieldAssignmentModel, FieldInstance, File, FileReference, FileReferenceList, FileStream, FileUploadManager, FlexClient, FlexNativeMenu, FlexNativeMenuAutomationImpl, FocusManager, FormConnector, FragmentLayoutHandler, FrameLabel, GameInput, GameInputControl, Geolocation, GradientBase, GradientEntry, GraphicElement, GridColumn, HierarchicalCollectionView, HierarchicalCollectionViewCursor, HierarchicalData, Icon, IKManager, IKMover, ImageHandler, IME, ImportExportManager, InteractionStateDetector, InvokeParams, LayoutHandler, LayoutManager, LayoutRendererBase, LeafNode, LetterHandler, LetterInstance, ListAssignmentModel, ListHandler, LoaderBase, LoaderInfo, LocalConnection, Locale, LocalizeableMessage, LogLogger, MediaElement, MediaFactory, MediaPromise, MediaTraitBase, MessageAgent, MessageBatch, MessageChannel, Metadata, Microphone, MockServiceProvider, Model, Model, ModuleAssignmentModel, ModuleBase, NativeApplication, NativeMenu, NativeMenuItem, NativeProcess, NativeWindow, NetConnection, NetConnectionFactoryBase, NetGroup, NetMonitor, NetStream, NetStreamMetricsBase, NetStreamPlayOptions, NetStreamSwitcher, NetStreamSwitchManagerBase, NetworkInfo, PanelManager, PermissionBasedAssetHandler, PermissionBasedAssetHandler, PresentationModel, PrintJob, ProcessManager, Project, ProLoaderInfo, RadioButtonGroup, RadioButtonGroup, RadioButtonGroup, RemoteNotifier, RSLInfo, RSLPreloader, Screen, SearchManager, SecurityManager, ServerSocket, Service, ServiceMonitor, ServiceTracker, ShaderJob, SharedObject, SimpleFunctionMapper, SimpleVariableResolver, Socket, SolidColor, SolidColorStroke, Sort, SortField, Sound, SoundChannel, SQLConnection, SQLStatement, Stage3D, StageText, StageVideo, StageWebView, State, StorageVolumeInfo, StreamingConnectionHandler, StyleSheet, SWFBridgeGroup, SwfConnector, SystemUpdater, TargetAreaAssignmentModel, TargetInstance, Task, TextContainerManager, TextHandler, TextureBase, Timer, ToolTipManager, TraitEventDispatcher, TransformOffsets, Transition, TransitionManager, Tween, Tween, UIComponentAutomationImpl, UIMovieClipAutomationImpl, UncaughtErrorEvents, URLFilePromise, URLLoader, URLStream, Validator, VariableAssignmentModel, VariableInstance, VariableModel, ViewTransitionBase, Worker, XFADataStream, XMLDataLoader, XMLSignatureValidator, XMLSocket

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

La classe EventDispatcher est la classe de base pour toutes les classes qui distribuent des événements. La classe EventDispatcher implémente l’interface IEventDispatcher et est la classe de base de la classe DisplayObject. La classe EventDispatcher permet à tout objet de la liste d’affichage de servir de cible d’événement et, en tant que tel, d’utiliser les méthodes de l’interface IeventDispatcher.

Les cibles d’événement constituent une part importante du modèle d’événement de Flash® Player et d’Adobe® AIR®. La cible de l’événement détermine le flux d’événements dans la hiérarchie de la liste d’affichage. Lorsqu’un événement, tel qu’un clic de souris ou une pression sur une touche, se produit, Flash Player ou l’application AIR distribue un objet événement dans le flux d’événements, à partir de la racine de la liste d’affichage. Cet objet descend dans la liste jusqu’à ce qu’il atteigne la cible de l’événement et commence alors à remonter la liste d’affichage. Cet aller-retour jusqu’à la cible de l’événement est divisé de manière conceptuelle en trois phases : la phase de capture correspond au trajet de la racine jusqu’au dernier nœud précédant le nœud de la cible de l’événement, la phase cible concerne uniquement le nœud de la cible de l’événement, tandis que la phase de propagation vers le haut (bubbling) comprend tous les nœuds rencontrés sur le trajet de retour à la racine de la liste d’affichage.

En règle générale, pour qu’une classe définie par l’utilisateur acquière des fonctions de distribution, le plus simple consiste à étendre EventDispatcher. Si cela est impossible (autrement dit, si cette classe étend déjà une autre classe), vous pouvez implémenter l’interface IEventDispatcher, créer un membre EventDispatcher et écrire des raccrochements simples pour acheminer les appels vers la classe EventDispatcher regroupée.

Consulter les exemples

Informations complémentaires



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
Méthodes publiques
 MéthodeDéfini par
  
Regroupe une occurrence de la classe EventDispatcher.
EventDispatcher
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
  
Distribue un événement dans le flux d’événements.
EventDispatcher
  
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
  
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
  
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
  [Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
  [Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
Détails du constructeur

EventDispatcher

()Constructeur
public function EventDispatcher(target:IEventDispatcher = null)

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Regroupe une occurrence de la classe EventDispatcher.

La classe EventDispatcher est généralement utilisée comme classe de base, ce qui signifie que la plupart des développeurs n’ont pas besoin d’utiliser cette fonction constructeur. Toutefois, les développeurs expérimentés qui implémentent l’interface IEventDispatcher doivent l’utiliser. S’il vous est impossible d’étendre la classe EventDispatcher et que vous devez implémenter l’interface IEventDispatcher à la place, utilisez cette fonction constructeur pour regrouper une occurrence de la classe EventDispatcher.

Paramètres
target:IEventDispatcher (default = null) — Objet cible des événements distribués à l’objet EventDispatcher. Ce paramètre s’utilise lorsque l’occurrence de EventDispatcher est regroupée par une classe qui implémente IEventDispatcher. Il permet à l’objet conteneur d’être la cible des événements. Ne vous servez pas de ce paramètre dans des cas simples pour lesquels une classe étend EventDispatcher.
Détails de la méthode

addEventListener

()méthode
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. Vous pouvez enregistrer les écouteurs d’événement dans tous les nœuds de la liste d’affichage pour un type spécifique d’événement, de phase et de priorité.

Après l’enregistrement d’un écouteur d’événement, vous ne pouvez plus modifier sa priorité par d’autres appels de addEventListener(). Pour modifier la priorité d’un écouteur, vous devez d’abord appeler removeListener(). Vous pouvez ensuite réenregistrer l’écouteur avec le nouveau niveau de priorité.

N’oubliez pas qu’une fois l’écouteur enregistré, tous les prochains appels de addEventListener() avec une valeur type ou useCapture différente entraîneront la création d’un autre enregistrement d’écouteur. Si, par exemple, vous enregistrez un écouteur dans lequel la propriété useCapture est définie sur true, il écoute uniquement pendant la phase de capture. Si vous appelez addEventListener() à l’aide du même objet écouteur, mais en définissant useCapture sur false, vous obtenez deux écouteurs distincts : l’un qui écoute pendant la phase de capture et l’autre qui écoute pendant les phases cible et de propagation vers le haut (bubbling).

Il est impossible d’enregistrer un écouteur d’événement uniquement pour la phase cible ou la phase de propagation vers le haut. Ces deux phases sont associées pendant l’enregistrement car la propagation vers le haut s’applique uniquement aux ancêtres du nœud cible.

Si vous n’avez plus besoin d’un écouteur d’événements, supprimez-le en appelant removeEventListener(), afin d’éviter tout problème de mémoire. Les écouteurs d’événement ne sont pas automatiquement supprimés de la mémoire, car le nettoyeur de mémoire ne supprime pas l’écouteur tant que l’objet de distribution existe (à moins que le paramètre useWeakReference ne soit défini sur true).

Lors de la copie d’une occurrence d’EventDispatcher, les écouteurs d’événement qui lui sont associés ne sont pas pris en compte (si le nouveau nœud nécessite un écouteur d’événement, vous devez associer celui-ci après la création du nœud). Toutefois, si vous déplacez une occurrence d’EventDispatcher, les écouteurs d’événement qui lui sont associés la suivent.

Si un écouteur d’événement est enregistré sur un nœud alors qu’un événement est en cours de traitement sur ce nœud, l’écouteur n’est pas déclenché pendant la phase actuelle, mais il peut l’être pendant une phase ultérieure du flux d’événements, telle que la phase de propagation vers le haut (bubbling).

Si un écouteur d’événement est supprimé d’un nœud sur lequel un événement est en cours de traitement, il est cependant déclenché par les actions en cours. Une fois supprimé, l’écouteur d’événement n’est plus jamais appelé (à moins d’être réenregistré à des fins de traitement ultérieur).

Paramètres

type:String — Type d’événement.
 
listener:Function — Fonction d’auditeur qui traite l’événement. Cette fonction doit accepter un objet Event comme paramètre unique et ne rien renvoyer, comme illustré ci-dessous :
function(evt:Event):void

Le nom de cette fonction n’a aucune importance.

 
useCapture:Boolean (default = false)Détermine si l’écouteur est actif pendant la phase de capture ou pendant les phases cible et de propagation. Si la propriété useCapture est définie sur true, l’écouteur traite l’événement uniquement pendant la phase de capture et non pendant les phases cible et de propagation. Si la propriété useCapture est définie sur false, l’écouteur traite l’événement uniquement pendant les phases cible et de propagation. Pour écouter l’événement dans les trois phases, appelez addEventListener à deux reprises, une première fois en définissant useCapture sur true, puis une nouvelle fois en définissant useCapture sur false.
 
priority:int (default = 0) — Niveau de priorité de l’écouteur d’événement. La priorité est indiquée par un entier signé de 32 bits. Plus le nombre est élevé, plus la priorité est élevée. Tous les écouteurs dont la priorité correspond à n sont traités avant les écouteurs dotés de la priorité n -1. Les écouteurs dont la priorité est identique sont traités dans l’ordre où ils ont été ajoutés. La priorité par défaut est 0.
 
useWeakReference:Boolean (default = false) — Détermine si la référence à l’écouteur est forte ou faible. Une référence forte (valeur par défaut) empêche le nettoyage de votre écouteur, Cela n’est pas le cas avec une référence faible.

Les fonctions de membres de niveau classe n’étant pas soumises au nettoyage, vous pouvez définir useWeakReference sur true pour ces fonctions. Si vous définissez useWeakReference sur true pour un écouteur correspondant à une fonction imbriquée interne, la fonction sera nettoyée et ne sera donc pas permanente. Si vous créez des références à la fonction interne (enregistrée dans une autre variable), celle-ci n’est pas nettoyée et reste permanente.


Valeur émise
ArgumentError — Le paramètre listener spécifié n’est pas une fonction.

Informations complémentaires

dispatchEvent

()méthode 
public function dispatchEvent(event:Event):Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Distribue un événement dans le flux d’événements. La cible de l’événement est l’objet EventDispatcher sur lequel la méthode dispatchEvent() est appelée.

Paramètres

event:Event — Objet Event qui est distribué dans le flux d’événements. Si l’événement est redistribué, un clone est automatiquement créé. Après la distribution d’un événement, il est impossible de modifier sa propriété target. Pour que la redistribution fonctionne, vous devez donc créer une copie de l’événement.

Valeur renvoyée
Boolean — Une valeur true si l’événement a bien été distribué. La valeur false indique un échec ou que preventDefault() a été appelé sur l’événement.

Valeur émise
Error — La limite de récursivité relative à la distribution d’événements est atteinte.

hasEventListener

()méthode 
public function hasEventListener(type:String):Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. Vous pouvez ainsi déterminer précisément où un objet EventDispatcher a modifié la gestion d’un type d’événement dans la hiérarchie du flux d’événements. Pour savoir si un type d’événement spécifique déclenche réellement un écouteur d’événements, utilisez willTrigger().

La différence entre les méthodes hasEventListener() et willTrigger() est la suivante : hasEventListener() examine uniquement l’objet auquel elle appartient, tandis que willTrigger() recherche dans la totalité du flux d’événements l’événement spécifié par le paramètre type.

Lorsque hasEventListener() est appelé à partir d’un objet LoaderInfo, seuls les écouteurs auxquels l’appelant a accès sont pris en compte.

Paramètres

type:String — Type d’événement.

Valeur renvoyée
Boolean — La valeur true est renvoyée si un écouteur du type spécifié est enregistré. La valeur false est renvoyée dans tous les autres cas.

Eléments de l’API associés

removeEventListener

()méthode 
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Supprime un écouteur de l’objet EventDispatcher. Si aucun écouteur correspondant n’est enregistré auprès de l’objet EventDispatcher, l’appel de cette méthode n’a aucun effet.

Paramètres

type:String — Type d’événement.
 
listener:Function — Objet écouteur à supprimer.
 
useCapture:Boolean (default = false)Détermine si l’écouteur a été enregistré pendant la phase de capture ou pendant les phases cible et de propagation. Si l’écouteur a été enregistré pendant la phase de capture et pendant les phases cible et de propagation, il est nécessaire d’appeler removeEventListener() à deux reprises pour le supprimer. Appelez useCapture() une première fois en la définissant sur true, puis une seconde fois useCapture() en la définissant sur false.

Informations complémentaires

willTrigger

()méthode 
public function willTrigger(type:String):Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. Cette méthode renvoie true si un écouteur d’événement est déclenché pendant toute phase du flux d’événements lorsqu’un événement du type spécifié est distribué à cet objet EventDispatcher ou à l’un de ses descendants.

La différence entre les méthodes hasEventListener() et willTrigger() est la suivante : hasEventListener() examine uniquement l’objet auquel elle appartient, tandis que willTrigger() recherche dans la totalité du flux d’événements celui qui est spécifié par le paramètre type.

Lorsque willTrigger() est appelée à partir d’un objet LoaderInfo, seuls les écouteurs auxquels l’appelant a accès sont pris en compte.

Paramètres

type:String — Type d’événement.

Valeur renvoyée
Boolean — Renvoie true si un écouteur du type spécifié est enregistré, false dans tous les autres cas.
Détails de l’événement

activate

Evénement
Type d’objet d’événement: flash.events.Event
propriété Event.type = flash.events.Event.ACTIVATE

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR obtient le focus du système d’exploitation et devient active. Cet événement est un événement de diffusion, c’est-à-dire qu’il est distribué par tous les objets EventDispatcher pour lesquels un écouteur est enregistré pour cet événement. Pour plus d’informations sur les événements de diffusion, voir la classe DisplayObject.

La constante ACTIVATE définit la valeur de la propriété type d’un objet événement activate.

Remarque : cet événement n’a ni « phase de capture », ni « phase de propagation », ce qui signifie que des écouteurs d’événement doivent être ajoutés directement aux cibles potentielles, que la cible soit dans la liste d’affichage ou non.

Les périphériques AIR pour TV ne distribuent jamais automatiquement cet événement. Il est cependant possible de le distribuer manuellement.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetToute occurrence de DisplayObject à laquelle est associé un écouteur pour l’événement activate.

Eléments de l’API associés

deactivate

Evénement  
Type d’objet d’événement: flash.events.Event
propriété Event.type = flash.events.Event.DEACTIVATE

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive. Cet événement est un événement de diffusion, c’est-à-dire qu’il est distribué par tous les objets EventDispatcher pour lesquels un écouteur est enregistré pour cet événement. Pour plus d’informations sur les événements de diffusion, voir la classe DisplayObject.

La constante Event.DEACTIVATE définit la valeur de la propriété type d’un objet événement deactivate.

Remarque : cet événement n’a ni « phase de capture », ni « phase de propagation », ce qui signifie que des écouteurs d’événement doivent être ajoutés directement aux cibles potentielles, que la cible soit dans la liste d’affichage ou non.

Les périphériques AIR pour TV ne distribuent jamais automatiquement cet événement. Il est cependant possible de le distribuer manuellement.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetToute occurrence DisplayObject à laquelle est associé un écouteur pour l’événement deactivate.

Eléments de l’API associés

EventDispatcherExample.as

L’exemple suivant utilise les classes EventDispatcherExample et CustomDispatcher, une sous-classe de EventDispatcher, pour décrire la création et la distribution d’un événement personnalisé. L’exemple exécute les tâches suivantes :
  1. Le constructeur de EventDispatcherExample crée une variable locale dispatcher et l’affecte à une nouvelle occurrence de CustomDispatcher.
  2. A l’intérieur de CustomDispatcher, une chaîne est définie de sorte que l’événement présente le nom action et la méthode doAction() est déclarée. Lorsqu’elle est appelée, cette méthode crée l’événement action et le distribue à l’aide de EventDispatcher.dispatchEvent().
  3. La propriété dispatcher est alors utilisée pour ajouter l’écouteur d’événements action et la méthode d’abonné associée actionHandler(), qui imprime simplement les informations relatives à l’événement lorsque qu’il est distribué.
  4. La méthode doAction() est invoquée et distribue l’événement action.
package {
    import flash.display.Sprite;
    import flash.events.Event;

    public class EventDispatcherExample extends Sprite {

        public function EventDispatcherExample() {
            var dispatcher:CustomDispatcher = new CustomDispatcher();
            dispatcher.addEventListener(CustomDispatcher.ACTION, actionHandler);
            dispatcher.doAction();
        }

        private function actionHandler(event:Event):void {
            trace("actionHandler: " + event);
        }
    }
}

import flash.events.EventDispatcher;
import flash.events.Event;

class CustomDispatcher extends EventDispatcher {
    public static var ACTION:String = "action";

    public function doAction():void {
        dispatchEvent(new Event(CustomDispatcher.ACTION));
    }
}




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.