Le composant List est une zone de liste défilante à sélection unique ou multiple. Les listes peuvent également contenir des graphiques et d’autres composants. L’ajout des éléments affichés dans la zone de liste s’effectue via la boîte de dialogue Valeurs qui s’ouvre lorsque vous cliquez dans les champs de paramètres des étiquettes ou des données. Vous pouvez également utiliser les méthodes
List.addItem()
et
List.addItemAt()
pour ajouter des éléments à la liste.
Le composant List utilise un index en base zéro, où l’élément possédant l’index 0 est le premier affiché. Lorsque vous ajoutez, supprimez ou remplacez les éléments d’une liste au moyen des méthodes et des propriétés de la classe List, il peut s’avérer nécessaire d’indiquer leur index.
Interaction de l’utilisateur avec le composant List
Vous pouvez définir une liste dans laquelle les utilisateurs pourront effectuer un ou plusieurs choix. Par exemple, un utilisateur qui visite un site de commerce électronique doit pouvoir choisir l’article à acheter. Imaginons que 30 articles lui soient proposés. Il fait défiler la liste et en choisit un en cliquant sur son entrée.
Vous pouvez également concevoir une liste qui affiche des lignes de clips personnalisés pour mieux renseigner les utilisateurs. Par exemple, dans une application de courrier électronique, chaque boîte de réception peut être un composant List et chaque ligne peut être accompagnée d’icônes indiquant la priorité et l’état des messages.
La liste reçoit le focus lorsque l’utilisateur clique sur son entrée ou appuie sur la touche de tabulation pour y accéder. Les touches suivantes permettent de la contrôler :
Touche
|
Description
|
Touches alphanumériques
|
Passe à l’élément suivant dont
Key.getAscii()
est le premier caractère de l’étiquette.
|
Contrôle
|
Bouton bascule autorisant plusieurs sélections et désélections non contiguës.
|
Flèche vers le bas
|
Déplace la sélection d’un élément vers le bas.
|
Orig
|
Déplace la sélection jusqu’au sommet de la liste.
|
Pg. Suiv.
|
Déplace la sélection sur la page suivante.
|
Pg. Préc.
|
Déplace la sélection sur la page précédente.
|
Maj
|
Permet une sélection contiguë.
|
Flèche vers le haut
|
Déplace la sélection d’un élément vers le haut.
|
Remarque :
vous remarquerez que les tailles de défilement sont exprimées en pixels et non en lignes.
Remarque :
la taille de page utilisée par les touches Page précédente et Page suivante correspond au nombre d’éléments contenus dans l’affichage, moins un. Par exemple, le passage à la page suivante dans une liste déroulante à dix lignes affiche les éléments 0-9, 9-18, 18-27, etc., avec un élément commun par page.
Pour plus d’informations sur le contrôle du focus, voir l’interface IFocusManager et la classe FocusManager dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
et
Utilisation de FocusManager
.
L’aperçu en direct de chaque occurrence de List sur la scène reflète les modifications apportées aux paramètres dans l’Inspecteur des propriétés ou des composants au cours de la programmation.
Lorsque vous ajoutez un composant List à une application, vous pouvez le rendre accessible à un lecteur d’écran en ajoutant les lignes de code ActionScript suivantes :
import fl.accessibility.ListAccImpl;
ListAccImpl.enableAccessibility();
Quel que soit le nombre d’occurrences d’un composant, l’activation de son accessibilité ne se fait qu’une fois. Pour plus d’informations, voir le Chapitre 18, « Création de contenu accessible » du guide
Utilisation de Flash
.
Paramètres du composant List
Dans l’Inspecteur des propriétés ou l’Inspecteur des composants, vous pouvez définir les paramètres suivants pour chaque occurrence du composant List :
allowMultipleSelection
,
dataProvider, horizontalLineScrollSize, horizontalPageScrollSize, horizontalScrollPolicy, multipleSelection, verticalLineScrollSize, verticalPageScrollSize
et
verticalScrollPolicy
. A chacun de ces paramètres correspond une propriété ActionScript du même nom. Pour plus d’informations sur les valeurs gérées de ces paramètres, voir la classe List dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
. Pour plus d’informations sur l’utilisation du paramètre dataProvider, voir la section
Utilisation du paramètre dataProvider
.
Création d’une application avec le composant List
L’exemple suivant explique l’ajout d’un composant List à une application au cours de la programmation.
Ajout d’un composant List simple à une application
Dans cet exemple, le composant List consiste en étiquettes qui identifient des modèles de voitures et en champs de données contenant des prix.
-
Créez un document de fichier Flash (ActionScript 3.0).
-
Faites glisser un composant List du panneau Composants sur la scène.
-
Dans l’Inspecteur des propriétés, procédez comme suit :
-
Utilisez l’outil Texte pour créer un champ de texte sous
aList
et attribuez-lui le nom d’occurrence
aTf
.
-
Ouvrez le panneau Actions, sélectionnez l’image 1 dans le scénario principal et entrez le code ActionScript suivant :
import fl.controls.List;
import flash.text.TextField;
aTf.type = TextFieldType.DYNAMIC;
aTf.border = false;
// Create these items in the Property inspector when data and label
// parameters are available.
aList.addItem({label:"1956 Chevy (Cherry Red)", data:35000});
aList.addItem({label:"1966 Mustang (Classic)", data:27000});
aList.addItem({label:"1976 Volvo (Xcllnt Cond)", data:17000});
aList.allowMultipleSelection = true;
aList.addEventListener(Event.CHANGE, showData);
function showData(event:Event) {
aTf.text = "This car is priced at: $" + event.target.selectedItem.data;
}
Ce code utilise la méthode
addItem()
pour affecter trois éléments à l’occurrence
aList
, en leur attribuant à chacun d’entre eux une valeur
label
, qui apparaît dans la liste, et une valeur
data
. Lorsque vous sélectionnez un élément dans le composant List, l’écouteur d’événements appelle la fonction
showData()
, qui affiche la valeur
data
pour l’élément sélectionné.
-
Choisissez Contrôle > Tester l’animation pour compiler et exécuter cette application.
Remplissage d’une occurrence de List à l’aide d’un fournisseur de données
Cet exemple crée une liste de modèles de voitures et de leurs prix. Toutefois, il utilise un fournisseur de données pour remplir le composant List plutôt que la méthode
addItem()
.
-
Créez un document de fichier Flash (ActionScript 3.0).
-
Faites glisser un composant List du panneau Composants sur la scène.
-
Dans l’Inspecteur des propriétés, procédez comme suit :
-
Utilisez l’outil Texte pour créer un champ de texte sous
aList
et attribuez-lui le nom d’occurrence
aTf
.
-
Ouvrez le panneau Actions, sélectionnez l’image 1 dans le scénario principal et entrez le code ActionScript suivant :
import fl.controls.List;
import fl.data.DataProvider;
import flash.text.TextField;
aTf.type = TextFieldType.DYNAMIC;
aTf.border = false;
var cars:Array = [
{label:"1956 Chevy (Cherry Red)", data:35000},
{label:"1966 Mustang (Classic)", data:27000},
{label:"1976 Volvo (Xcllnt Cond)", data:17000},
];
aList.dataProvider = new DataProvider(cars);
aList.allowMultipleSelection = true;
aList.addEventListener(Event.CHANGE, showData);
function showData(event:Event) {
aTf.text = "This car is priced at: $" + event.target.selectedItem.data;
}
-
Choisissez Contrôle > Tester l’animation pour visualiser la liste et ses éléments.
Utilisation d’un composant List pour contrôler une occurrence de clip
L’exemple suivant crée une liste de noms de couleur. Lorsque vous sélectionnez une couleur, il l’applique à un clip.
-
Créez un document de fichier Flash (ActionScript 3.0).
-
Faites glisser le composant List du panneau Composants vers la scène et spécifiez les valeurs suivantes pour celui-ci dans l’Inspecteur des propriétés :
-
Entrez le nom d’occurrence
aList
.
-
Tapez
60
pour la valeur H.
-
Tapez
100
pour la valeur X.
-
Tapez
150
pour la valeur Y.
-
Ouvrez le panneau Actions, sélectionnez l’image 1 dans le scénario principal et entrez le code ActionScript suivant :
aList.addItem({label:"Blue", data:0x0000CC});
aList.addItem({label:"Green", data:0x00CC00});
aList.addItem({label:"Yellow", data:0xFFFF00});
aList.addItem({label:"Orange", data:0xFF6600});
aList.addItem({label:"Black", data:0x000000});
var aBox:MovieClip = new MovieClip();
addChild(aBox);
aList.addEventListener(Event.CHANGE, changeHandler);
function changeHandler(event:Event) {
drawBox(aBox, event.target.selectedItem.data);
};
function drawBox(box:MovieClip,color:uint):void {
box.graphics.beginFill(color, 1.0);
box.graphics.drawRect(225, 150, 100, 100);
box.graphics.endFill();
}
-
Sélectionnez Contrôle > Tester l’animation pour exécuter l’application.
-
Cliquez sur des couleurs dans la liste pour les afficher dans un clip.
Création d’une occurrence du composant List à l’aide d’ActionScript
L’exemple suivant utilise ActionScript pour créer une liste simple qu’il remplit à l’aide de la méthode
addItem()
.
-
Créez un document de fichier Flash (ActionScript 3.0).
-
Faites glisser le composant List du panneau Composants vers le panneau Bibliothèque.
-
Ouvrez le panneau Actions, sélectionnez l’image 1 dans le scénario principal et entrez le code ActionScript suivant :
import fl.controls.List;
var aList:List = new List();
aList.addItem({label:"One", data:1});
aList.addItem({label:"Two", data:2});
aList.addItem({label:"Three", data:3});
aList.addItem({label:"Four", data:4});
aList.addItem({label:"Five", data:5});
aList.setSize(60, 40);
aList.move(200,200);
addChild(aList);
aList.addEventListener(Event.CHANGE, changeHandler);
function changeHandler(event:Event):void {
trace(event.target.selectedItem.data);
}
-
Sélectionnez Contrôle > Tester l’animation pour exécuter l’application.
|
|
|