Thmes
Comprendre les vnements Crer des gestionnaires dvnement en utilisant ActionScript Grer les vnements avec des fonctions ActionScript Mettre les fonctions ActionScript dans des fichiers externes Comprendre lobjet event
Types dvnements
Systme
Utilisateur
Surviennent lors dune interaction de lutilisateur avec un contrle ou un conteneur dans lapplication
Evnements systme
Surviennent durant lexcution du code Ce qui suit arrive pour tout objet, sous-classe de UIObject
Evnement initialize Description Envoy lorsque les composants ont termin leur construction et que toutes les proprits ont t positionnes
creationComplete Envoy lorsque lobjet a fini sa construction, les proprits sont positionnes, les mesures, le positionnement et le dessin sont termins (mme si la proprit visible est fausse) Rcuprez cet vnement pour positionner les valeurs par dfaut au dmarrage ; tous les objets sont prts tre utiliss Frquemment utilis dans lobjet Application show Envoy lorsque ltat dun objet passe de invisible visible
Evnements utilisateur
Supporte un sous ensemble des vnements du standard DOM Level 3 Ci-dessous, quelques exemples frquents
Evnement click change Description Sur llment, le bouton du systme de pointage est cliqu Cet vnement survient quand la valeur dun contrle change, exemple : la saisie dun caractre dans un contrle TextInput ou une nouvelle slection dans un contrle ComboBox Sur llment, le bouton du systme de pointage est appuy
mouseDown
EventDemo.mxml
Note : Regardez laspect gnral de lapplication, pas encore le code !
Positionnez la proprit vnement de la balise du contrle ou du conteneur MXML avec le code de gestion de lvnement
<mx:TagName eventName="[ActionScript code]"/>
En mettant directement la portion de code ActionScript dans la valeur de la proprit En appelant une fonction ActionScript dfinie dans le block de script
Note : XML impose de placer des guillemets simples autour de la valeur dun attribut
ActionScript ne peut tre utilis que comme une valeur pour une proprit de type vnement, pas dans un autre type de proprit, moins dutiliser les liaisons ({})
<mx:Button id="myButton" label="Click Me" click="myLabel.text='You clicked'"/> <mx:Label id="myLabel" text="Click '{myButton.label}'"/>
Utiliser ActionScript pour donner une valeur un Label sur un vnement de clic dun bouton
InlineASDemo.mxml
Si vous avez besoin de plus dune ligne de code pour grer un vnement, placez le code dans une fonction
Tout ce qui se trouve lintrieur est considr par linterprteur comme du XML Utiliser un CDATA pour viter aux caractres spciaux dtre interprts
Utiliser une fonction dans un bloc script pour donner une valeur un Label sur un vnement de click de bouton
FunctionDemo.mxml
Note : Flex Builder gnrera un bloc CDATA pour vous, quand vous insrez la balise <mx:Script>
Par convention, utiliser lextension de fichier AS Vous pouvez utiliser nimporte quelle extension de fichier Le fichier ne peut contenir que des dclarations de variables et de fonctions
<mx:Script source="asHandlers.as"/>
Lobjet Event
Lobjet Event est un objet ActionScript qui est cr chaque fois quun vnement survient Contient des informations sur lvnement. Chaque vnement provient dune classe de type Event
Par exemple le click gnre un vnement de type flash.events.MouseEvent qui contient des proprits spcifiques
Vous faites rfrence cet objet lintrieur dun handler dvnement sous le nom event <mx:Button label="Click Me" id="button1" click="fillLabelControl(event)"/>
Tout objet vnement contient des proprits qui dpendent de sa classe Ces proprits sont prcises dans la doc de la classe Event considre
Les proprits importantes sont aussi rappeles dans la doc du handler dvnement Il est possible de crer ses propres classes dvnement (voir chapitre 11)
EventObject.mxml EventDemoObject.mxml
Rsum
Rsum
Il y a deux types dvnements : systme et utilisateur Vous grez les vnements avec des gestionnaires
En crivant directement le code dans la balise MXML En faisant rfrence une fonction ActionScript qui se trouve dans un bloc <mx:Script> Le bloc de script peut faire rfrence un fichier ActionScript externe
Exercice 4: Objectifs
Ajouter un bloc de script et dfinir une fonction Utiliser une condition pour activer/dsactiver des cases cocher Appeler une fonction sur un vnement utilisateur Appeler une fonction sur un vnement systme
Dure : 15 minutes
Exercice 4 : Diagramme
Les autres cases cocher doivent tre dsactives quand la case All Categories est active
Exercice 4 : Notes
Ecrivez tout le code dans Category.mxml Nommez les cases cocher all, afghan, african Nommez la fonction allHandler
A lintrieur, crire le code pour activer ou dsactiver les cases cocher Ci-dessous la syntaxe du if ActionScript
if (expression) { [code to complete] } else { [code to complete] }
Appelez la fonction quand lapplication se charge et lorsque la case cocher All Categories est slectionne