8 – ActionScript 3 ou l’art d’écouter
© Groupe Eyrolles, 2008
129
Par conséquent, tous les objets peuvent utiliser la méthode
addEventListener(), qui permet d’écouter un événement spécifique et
de déclencher, le cas échéant, un processus associé. Le fonctionnement
décrit ici reprend le principe du modèle de conception « Observateur »,
sur lequel se base le modèle événementiel de Flash. Dans ce design pattern, nous avons trois acteurs principaux : le sujet, l’événement et l’écouteur. Par exemple, si le sujet est un composant de type bouton,
l’événement sera donc un clic sur ce bouton et l’écouteur la méthode
addEventListener(), qui déclenchera un processus spécifique (comme
pour notre permutation vers un nouvel état d’affichage sur la figure 8-5).
Comprendre la propagation événementielle
Reprenons à présent l’exemple d’un événement de type click. Jusqu’à présent, nous avons placé des événements tels que celui-ci sur des composants
qui dépêchent eux-mêmes l’événement (c’est à partir de ce composant que
l’élément est déclenché). C’est le cas par exemple du clic sur le bouton d’inscription à la newsletter, dans le chapitre précédent, qui comporte l’instruction click="currentState='abonnementState'" (fichier Edito.mxml).
Cependant, il est parfois plus pratique de placer un événement sur le parent
d’un objet plutôt que sur l’objet lui-même. Par exemple, nous pourrions
placer cet événement sur le conteneur parent TitleWindow qui contient précisément le bouton. Nous pourrions de la même façon remonter encore
d’un cran et le placer sur le conteneur Canvas, qui est parent du
TitleWindow, voire encore plus en amont, sur le conteneur Application,
qui contient lui-même le conteneur Canvas du fichier Edito.xml.
Figure 8–5
Modèle événementiel dans Flex
© Groupe Eyrolles, 2008
129
Par conséquent, tous les objets peuvent utiliser la méthode
addEventListener(), qui permet d’écouter un événement spécifique et
de déclencher, le cas échéant, un processus associé. Le fonctionnement
décrit ici reprend le principe du modèle de conception « Observateur »,
sur lequel se base le modèle événementiel de Flash. Dans ce design pattern, nous avons trois acteurs principaux : le sujet, l’événement et l’écouteur. Par exemple, si le sujet est un composant de type bouton,
l’événement sera donc un clic sur ce bouton et l’écouteur la méthode
addEventListener(), qui déclenchera un processus spécifique (comme
pour notre permutation vers un nouvel état d’affichage sur la figure 8-5).
Comprendre la propagation événementielle
Reprenons à présent l’exemple d’un événement de type click. Jusqu’à présent, nous avons placé des événements tels que celui-ci sur des composants
qui dépêchent eux-mêmes l’événement (c’est à partir de ce composant que
l’élément est déclenché). C’est le cas par exemple du clic sur le bouton d’inscription à la newsletter, dans le chapitre précédent, qui comporte l’instruction click="currentState='abonnementState'" (fichier Edito.mxml).
Cependant, il est parfois plus pratique de placer un événement sur le parent
d’un objet plutôt que sur l’objet lui-même. Par exemple, nous pourrions
placer cet événement sur le conteneur parent TitleWindow qui contient précisément le bouton. Nous pourrions de la même façon remonter encore
d’un cran et le placer sur le conteneur Canvas, qui est parent du
TitleWindow, voire encore plus en amont, sur le conteneur Application,
qui contient lui-même le conteneur Canvas du fichier Edito.xml.
Figure 8–5
Modèle événementiel dans Flex
