ActionScript 3 – Programmation séquentielle et orientée objet
364
La programmation d’une occurrence
Vous n’avez pas encore programmé l’instance de votre ComboBox : celle-ci ne vous sert
donc à rien !
Le script ci-dessous doit être placé à la suite de celui que nous venons de créer pour obtenir
une instance de type ComboBox.
semaine_comp.addEventListener(Event.CHANGE, jourSelectionne);
function jourSelectionne(evt:Event):void {
trace(evt.target.selectedItem.data);
}
Nous faisons référence à l’instance de type ComboBox qui s’intitule semaine_comp pour enregistrer un écouteur. Nous utilisons l’événement Event.CHANGE pour pouvoir exécuter la
ligne d’instruction contenue dans la fonction de rappel lorsqu’une commande du menu
déroulant sera sélectionnée.
Dans un souci de simplification, l’objectif de cette animation est d’afficher un mot (l’un
des jours de la semaine en anglais) dans la fenêtre Sortie de l’IDE de Flash. Nous exécutons
donc la commande trace() en demandant de lire la valeur de la propriété data de l’occurrence
utilisée pour la sélection d’un jour.
Rappelons que, dans la ligne d’instruction trace(evt.target.selectedIndex), evt.target
fait référence à l’occurrence utilisée. De ce fait, vous pourriez ajouter sur la scène autant
d’instances de ComboBox que souhaité ; vous n’auriez qu’à enregistrer un écouteur supplémentaire sans être obligé de redéfinir la fonction de rappel (sauf si elle doit effectuer une
action différente pour chaque instance).
semaine_comp.addEventListener(Event.CHANGE, commandeSelectionnee);
mois_comp.addEventListener(Event.CHANGE, commandeSelectionnee);
annee_comp.addEventListener(Event.CHANGE, commandeSelectionnee);
Vous constatez ainsi que la programmation d’un composant de type ComboBox est très simple,
mais nous terminerons tout de même par un conseil.
Si vous devez manipuler davantage d’informations lors de la sélection d’une commande
dans un menu, nous vous conseillons de récupérer non pas la valeur associée à l’étiquette
de la commande, mais plutôt le numéro d’index de la commande. Cela vous permet
ensuite de pointer vers un nœud XML, dont le niveau dans l’arborescence ou l’index
correspond à celui de la commande.
trace(evt.target.selectedIndex);
Remarque
Le genre du terme ComboBox est à la fois féminin et masculin car on parle d’un composant de type
ComboBox, et par raccourci de composant ComboBox ou encore de ComboBox. Mais il est souvent fait
référence à ce composant comme étant une liste déroulante : on dit alors une ComboBox.
Précédent

- 392/426

Suivant