ADOBE Flash CS3 User Manual [fr]

REFERENCE DU LANGAGE DES COMPOSANTS ACTIONSCRIPT
2.0
© 2007 Adobe Systems Incorporated. Tous droits réservés.
Référence du langage des composants ActionScript
2.0
Si le présent guide est fourni avec un logiciel régi par un contrat d’utilisateur final, ce guide ainsi que le logiciel décrit sont fournis sous licence et peuvent être utilisés ou copiés uniquement selon les clauses et conditions de la licence. A moins d’une autorisation expresse accordée par cette licence, aucune partie du présent guide ne peut être reproduite, stockée dans un système d’interrogation ou transmise, sous quelque forme ou par quelque moyen que ce soit (électronique, mécanique, par enregistrement ou autre) sans l’autorisation écrite préalable d’Adobe Systems Incorporated. Veuillez noter que le contenu du présent guide est protégé par la loi sur les droits d’auteur, même s’il n’est pas distribué avec un logiciel régi par un contrat de licence utilisateur.
Les informations contenues dans le présent guide sont fournies à titre purement informatif ; elles sont susceptibles d’être modifiées sans préavis et ne doivent pas être interprétées comme étant un engagement de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated n’accepte aucune responsabilité quant aux erreurs ou inexactitudes pouvant être contenues dans le présent guide.
Veuillez noter que les illustrations et images existantes que vous souhaiterez éventuellement inclure dans votre projet sont susceptibles d’être protégées par les lois sur les droits d’auteur. L’inclusion non autorisée de tels éléments dans vos nouveaux travaux peut constituer une violation des droits du propriétaire. Veuillez vous assurer que vous obtenez toute autorisation nécessaire auprès du détenteur du copyright.
Toute référence à des noms de sociétés dans les modèles types n’est utilisée qu’à titre d’exemple et ne fait référence à aucune société réelle.
Adobe®, Flash®, FlashHelp®, Flash® Player, JRun™, Macromedia® et Shockwave® sont des marques commerciales ou des marques déposées d’Adobe Systems Incorporated
aux Etats-Unis et/ou dans d’autres pays.
Macintosh® est une marque commerciale d’Apple Computer, Inc., déposée aux Etats-Unis et dans d’autres pays. Windows® est une marque commerciale ou une marque déposée de Microsoft Corporation aux Etats-Unis et/ou dans d’autres pays. Toutes les autres marques citées appartiennent à leurs propriétaires respectifs.
Certaines parties de ce produit contiennent du code utilisé sous licence de Nellymoser. (www.nellymoser.com).
Technologie de compression et décompression vidéo Sorenson Spark
utilisée sous licence de Sorenson
Media, Inc.
La vidéo de Flash CS3 est optimisée par la technologie vidéo On2 TrueMotion. © 1992-2005 On2 Technologies, Inc. Tous droits réservés. http://www.on2.com.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, Californie 95110, Etats-Unis. A l’attention des utilisateurs du Gouvernement des Etats-Unis. Ce logiciel et sa documentation sont des « articles commerciaux », conformément à la définition de ce terme dans le document 48 C.F.R. §2.101, comprenant d’une part un « logiciel informatique commercial » et d’autre part une « documentation de logiciel informatique commercial », conformément à la définition de ces termes dans le document 48 C.F.R. §12.212 ou 48 C.F.R. §227.7202, si approprié. Conformément aux documents 48 C.F.R. §12.212 ou 48 C.F.R.
§§227.7202-1 à 227.7202-4, si approprié, le logiciel informatique commercial et la documentation de logiciel informatique commercial sont accordés sous licence aux utilisateurs du Gouvernement des Etats-Unis (a) uniquement en tant que produits commerciaux et (b) uniquement avec les droits accordés à tous les autres utilisateurs selon les termes et conditions mentionnés dans le présent contrat. Droits non publiés réservés dans le cadre des lois sur les droits d’auteur en vigueur aux Etats-Unis. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, Etats-Unis. A l’attention des utilisateurs du Gouvernement des Etats-Unis, Adobe s’engage à respecter la législation relative à l’égalité des chances y compris, le cas échéant, les dispositions du décret 11246, tel qu’amendé, à la section 402 de la loi sur l’assistance aux vétérans du Vietnam (Vietnam Era Veterans Readjustment Assistance Act) de 1974 (38 USC 4212), et à la section 503 de la loi sur la réadaptation (Rehabilitation Act) de 1973, telle qu’amendée, et la réglementation des articles 41 CFR, alinéas 60-1 à 60-60, 60-250 et 60-741. La clause relative à l’égalité des chances et les règlements énoncés dans la phrase précédente doivent être compris comme tels lorsqu’il y est fait référence.

Table des matières

Chapitre 1 : Composants ActionScript 2.0. . . . . . . . . . . . . . . . . . 29
Autres listes dans cet ouvrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Chapitre 2 : Composant Accordion. . . . . . . . . . . . . . . . . . . . . . . . 35
Utilisation du composant Accordion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Personnalisation du composant Accordion . . . . . . . . . . . . . . . . . . . . . . 40
Classe Accordion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Accordion.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Accordion.createChild() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Accordion.createSegment() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Accordion.destroyChildAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Accordion.getChildAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Accordion.getHeaderAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Accordion.numChildren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Accordion.selectedChild. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Accordion.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Chapitre 3 : Composant Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Utilisation du composant Alert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Personnalisation du composant Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Classe Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Alert.buttonHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
Alert.buttonWidth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Alert.CANCEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Alert.cancelLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Alert.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Alert.NO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Alert.noLabel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Alert.NONMODAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Alert.OK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Alert.okLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Alert.show() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Alert.YES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Alert.yesLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
3
Chapitre 4 : Composant Button . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Utilisation du composant Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
Personnalisation du composant Button . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Classe Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Button.icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Button.label. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Button.labelPlacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
Chapitre 5 : API CellRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Présentation de la classe List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Utilisation de l’API CellRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
CellRenderer.getCellIndex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
CellRenderer.getDataLabel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
CellRenderer.getPreferredHeight(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
CellRenderer.getPreferredWidth() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
CellRenderer.listOwner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
CellRenderer.owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
CellRenderer.setSize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
CellRenderer.setValue(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Chapitre 6 : Composant CheckBox . . . . . . . . . . . . . . . . . . . . . . . 133
Utilisation du composant CheckBox. . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Personnalisation du composant CheckBox . . . . . . . . . . . . . . . . . . . . . 137
Classe CheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
CheckBox.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
CheckBox.label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
CheckBox.labelPlacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
CheckBox.selected. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Chapitre 7 : Interface Collection . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Classe Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
Collection.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Collection.contains() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Collection.clear() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Collection.getItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Collection.getIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Collection.getLength() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Collection.isEmpty() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Collection.removeItem(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4 Table des matières
Chapitre 8 : Composant ComboBox . . . . . . . . . . . . . . . . . . . . . . . 161
Utilisation du composant ComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . .164
Personnalisation du composant ComboBox . . . . . . . . . . . . . . . . . . . . . 167
Classe ComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
ComboBox.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
ComboBox.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
ComboBox.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
ComboBox.close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
ComboBox.close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
ComboBox.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
ComboBox.dropdown. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184
ComboBox.dropdownWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
ComboBox.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
ComboBox.enter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
ComboBox.getItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
ComboBox.itemRollOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
ComboBox.itemRollOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
ComboBox.labelField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
ComboBox.labelFunction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
ComboBox.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
ComboBox.open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
ComboBox.open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
ComboBox.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
ComboBox.removeItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
ComboBox.replaceItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
ComboBox.restrict. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
ComboBox.rowCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
ComboBox.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
ComboBox.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
ComboBox.selectedItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
ComboBox.sortItems() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
ComboBox.sortItemsBy(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
ComboBox.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
ComboBox.textField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
ComboBox.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
Chapitre 9 : Classes de liaison des données . . . . . . . . . . . . . . . . 215
Disponibilité des classes de liaison des données à l’exécution . . . . .215
Classes dans le package mx.data.binding . . . . . . . . . . . . . . . . . . . . . . .216
Classe Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Constructeur de la classe Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Table des matières 5
Binding.execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Classe CustomFormatter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
CustomFormatter.format() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
CustomFormatter.unformat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
CustomValidator, classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225
CustomValidator.validate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
CustomValidator.validationError() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
Classe EndPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Constructeur de la classe EndPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
EndPoint.component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
EndPoint.constant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
EndPoint.event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
EndPoint.location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
EndPoint.property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
Classe ComponentMixins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
ComponentMixins.getField() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
ComponentMixins.initComponent() . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
ComponentMixins.refreshDestinations() . . . . . . . . . . . . . . . . . . . . . . . 240
ComponentMixins.refreshFromSources() . . . . . . . . . . . . . . . . . . . . . . . 241
ComponentMixins.validateProperty() . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Classe DataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
DataType.encoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
DataType.formatter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
DataType.getAnyTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
DataType.getAsBoolean(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
DataType.getAsNumber() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
DataType.getAsString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
DataType.getTypedValue(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
DataType.kind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
DataType.setAnyTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
DataType.setAsBoolean(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
DataType.setAsNumber() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
DataType.setAsString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
DataType.setTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
Classe TypedValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257
Constructeur de la classe TypedValue . . . . . . . . . . . . . . . . . . . . . . . . . .258
TypedValue.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
TypedValue.typeName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
TypedValue.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
6 Table des matières
Chapitre 10 : Composant DataGrid . . . . . . . . . . . . . . . . . . . . . . . . 261
Interaction avec le composant DataGrid. . . . . . . . . . . . . . . . . . . . . . . . 262
Utilisation du composant DataGrid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Stratégies de performance DataGrid. . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Personnalisation du composant DataGrid . . . . . . . . . . . . . . . . . . . . . . .271
Classe DataGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
DataGrid.addColumn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
DataGrid.addColumnAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
DataGrid.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
DataGrid.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
DataGrid.cellEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
DataGrid.cellFocusIn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
DataGrid.cellFocusOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
DataGrid.cellPress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
DataGrid.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
DataGrid.columnCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
DataGrid.columnNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
DataGrid.columnStretch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
DataGrid.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
DataGrid.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
DataGrid.editField() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
DataGrid.focusedCell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301
DataGrid.getColumnAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
DataGrid.getColumnIndex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
DataGrid.headerHeight. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
DataGrid.headerRelease . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
DataGrid.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
DataGrid.removeAllColumns() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
DataGrid.removeColumnAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
DataGrid.replaceItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310
DataGrid.resizableColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
DataGrid.selectable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
DataGrid.showHeaders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
DataGrid.sortableColumns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313
DataGrid.spaceColumnsEqually() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314
Classe DataGridColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
Constructeur de la classe DataGridColumn . . . . . . . . . . . . . . . . . . . . . . 317
DataGridColumn.cellRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
DataGridColumn.columnName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
DataGridColumn.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
DataGridColumn.headerRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
DataGridColumn.headerText. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321
DataGridColumn.labelFunction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321
Table des matières 7
DataGridColumn.resizable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
DataGridColumn.sortable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324
DataGridColumn.sortOnHeaderRelease . . . . . . . . . . . . . . . . . . . . . . . .325
DataGridColumn.width. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326
Chapitre 11 : Composant DataHolder . . . . . . . . . . . . . . . . . . . . . .327
Création d’une application avec le composant DataHolder. . . . . . . .329
Classe DataHolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
DataHolder.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Chapitre 12 : API DataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . 333
DataProvider.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335
DataProvider.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336
DataProvider.editField(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336
DataProvider.getEditingData(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337
DataProvider.getItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .338
DataProvider.getItemID() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339
DataProvider.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339
DataProvider.modelChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
DataProvider.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
DataProvider.removeItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342
DataProvider.replaceItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343
DataProvider.sortItems() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343
DataProvider.sortItemsBy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345
Chapitre 13 : Composant DateChooser . . . . . . . . . . . . . . . . . . . 347
Utilisation du composant DateChooser . . . . . . . . . . . . . . . . . . . . . . . . .347
Personnalisation du composant DateChooser . . . . . . . . . . . . . . . . . . 350
Classe DateChooser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354
DateChooser.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358
DateChooser.dayNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
DateChooser.disabledDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
DateChooser.disabledRanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
DateChooser.displayedMonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362
DateChooser.displayedYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362
DateChooser.firstDayOfWeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363
DateChooser.monthNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
DateChooser.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
DateChooser.selectableRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366
DateChooser.selectedDate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
DateChooser.showToday . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .368
8 Table des matières
Chapitre 14 : Composant DataSet . . . . . . . . . . . . . . . . . . . . . . . 369
Utilisation du composant DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Classe DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
DataSet.addItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
DataSet.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
DataSet.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381
DataSet.addSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
DataSet.afterLoaded. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
DataSet.applyUpdates() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
DataSet.calcFields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
DataSet.changesPending() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
DataSet.clear() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
DataSet.createItem(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
DataSet.currentItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
DataSet.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
DataSet.deltaPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
DataSet.deltaPacketChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
DataSet.disableEvents(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
DataSet.enableEvents() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
DataSet.filtered. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
DataSet.filterFunc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
DataSet.find() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
DataSet.findFirst() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
DataSet.findLast() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
DataSet.first() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
DataSet.getItemId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
DataSet.getIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410
DataSet.getLength() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .412
DataSet.hasNext() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .412
DataSet.hasPrevious() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413
DataSet.hasSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .414
DataSet.isEmpty() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415
DataSet.items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .416
DataSet.itemClassName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .417
DataSet.iteratorScrolled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
DataSet.last() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .419
DataSet.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
DataSet.loadFromSharedObj(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421
DataSet.locateById(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
DataSet.logChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
DataSet.modelChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
DataSet.newItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Table des matières 9
DataSet.next() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .428
DataSet.previous() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
DataSet.properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
DataSet.readOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
DataSet.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
DataSet.removeItem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .432
DataSet.removeItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
DataSet.removeItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .435
DataSet.removeRange() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .436
DataSet.removeSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .437
DataSet.resolveDelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .438
DataSet.saveToSharedObj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
DataSet.schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
DataSet.selectedIndex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
DataSet.setIterator(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
DataSet.setRange() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
DataSet.skip() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
DataSet.useSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Chapitre 15 : Composant DateField . . . . . . . . . . . . . . . . . . . . . . 447
Utilisation du composant DateField . . . . . . . . . . . . . . . . . . . . . . . . . . . .448
Personnalisation du composant DateField . . . . . . . . . . . . . . . . . . . . . 450
Classe DateField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
DateField.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
DateField.close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
DateField.close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
DateField.dateFormatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .463
DateField.dayNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .463
DateField.disabledDays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
DateField.disabledRanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
DateField.displayedMonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .465
DateField.displayedYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .466
DateField.firstDayOfWeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467
DateField.monthNames. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467
DateField.open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .468
DateField.open. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
DateField.pullDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470
DateField.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
DateField.selectableRange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .473
DateField.selectedDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .474
DateField.showToday . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475
10 Table des matières
Chapitre 16 : Classe Delegate . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Delegate.create() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Chapitre 17 : Classe DeltaItem. . . . . . . . . . . . . . . . . . . . . . . . . . . 479
DeltaItem.argList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
DeltaItem.curValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .481
DeltaItem.delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .481
DeltaItem.kind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
DeltaItem.message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
DeltaItem.name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
DeltaItem.newValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
DeltaItem.oldValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Chapitre 18 : Interface Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Delta.addDeltaItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Delta.getChangeList(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Delta.getDeltaPacket() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Delta.getId(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Delta.getItemByName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Delta.getMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Delta.getOperation() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .491
Delta.getSource(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Chapitre 19 : Interface DeltaPacket . . . . . . . . . . . . . . . . . . . . . . 495
DeltaPacket.getConfigInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
DeltaPacket.getIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
DeltaPacket.getSource() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
DeltaPacket.getTimestamp(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
DeltaPacket.getTransactionId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
DeltaPacket.logChanges() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Chapitre 20 : Classe DepthManager . . . . . . . . . . . . . . . . . . . . . 503
DepthManager.createChildAtDepth() . . . . . . . . . . . . . . . . . . . . . . . . . . 505
DepthManager.createClassChildAtDepth() . . . . . . . . . . . . . . . . . . . . . 506
DepthManager.createClassObjectAtDepth() . . . . . . . . . . . . . . . . . . . 507
DepthManager.createObjectAtDepth() . . . . . . . . . . . . . . . . . . . . . . . . 508
DepthManager.kBottom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
DepthManager.kCursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
DepthManager.kNotopmost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .510
DepthManager.kTooltip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .510
DepthManager.kTop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Table des matières 11
DepthManager.kTopmost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511
DepthManager.setDepthAbove() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
DepthManager.setDepthBelow() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
DepthManager.setDepthTo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Chapitre 21 : Classe EventDispatcher . . . . . . . . . . . . . . . . . . . . . 515
Objets événement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Classe EventDispatcher (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
EventDispatcher.addEventListener() . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
EventDispatcher.dispatchEvent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
EventDispatcher.removeEventListener(). . . . . . . . . . . . . . . . . . . . . . . 520
Chapitre 22 : Composant FLVPlayback . . . . . . . . . . . . . . . . . . . 521
Utilisation du composant FLVPlayback . . . . . . . . . . . . . . . . . . . . . . . . .523
Utilisation des points de repère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Lecture de plusieurs fichiers FLV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Diffusion de fichiers FLV en continu à partir d’un FMS . . . . . . . . . . 542
Personnalisation du composant FLVPlayback. . . . . . . . . . . . . . . . . . 542
Classe FLVPlayback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Classe VideoError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .723
Classe VideoPlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .730
Utilisation d’un fichier SMIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
Chapitre 23 : Classe FocusManager . . . . . . . . . . . . . . . . . . . . . 745
Utilisation de Focus Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .746
Personnalisation de Focus Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . .749
Classe FocusManager (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .750
FocusManager.defaultPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . .754
FocusManager.defaultPushButtonEnabled . . . . . . . . . . . . . . . . . . . . .755
FocusManager.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .755
FocusManager.getFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .756
FocusManager.nextTabIndex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
FocusManager.sendDefaultPushButtonEvent() . . . . . . . . . . . . . . . . . 757
FocusManager.setFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .759
Chapitre 24 : Classe Form. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Utilisation de la classe Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
Form, classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .763
Form.currentFocusedForm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
Form.getChildForm() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .770
Form.indexInParentForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
12 Table des matières
Form.numChildForms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
Form.parentIsForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
Form.parentForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
Form.rootForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
Form.visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
Chapitre 25 : Interface Iterator . . . . . . . . . . . . . . . . . . . . . . . . . . .777
Iterator.hasNext() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .777
Iterator.next(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
Chapitre 26 : Composant Label . . . . . . . . . . . . . . . . . . . . . . . . . . 781
Utilisation du composant Label. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
Personnalisation du composant Label . . . . . . . . . . . . . . . . . . . . . . . . . 784
Classe Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
Label.autoSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
Label.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
Label.text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
Chapitre 27 : Composant List . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
Utilisation du composant List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
Personnalisation du composant List . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
Classe List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .801
List.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
List.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
List.cellRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
List.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .810
List.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
List.getItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .813
List.hPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .814
List.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .815
List.iconField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .816
List.iconFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
List.itemRollOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .818
List.itemRollOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
List.labelField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
List.labelFunction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
List.length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
List.maxHPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
List.multipleSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
List.removeAll(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
List.removeItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
Table des matières 13
List.replaceItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .828
List.rowCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .829
List.rowHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
List.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
List.selectable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .833
List.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .834
List.selectedIndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .835
List.selectedItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .836
List.selectedItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .837
List.setPropertiesAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .838
List.sortItems() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .839
List.sortItemsBy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
List.vPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
List.vScrollPolicy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .842
Chapitre 28 : Composant Loader . . . . . . . . . . . . . . . . . . . . . . . . 845
Utilisation du composant Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .846
Personnalisation du composant Loader. . . . . . . . . . . . . . . . . . . . . . . . .848
Classe Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
Loader.autoLoad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .854
Loader.bytesLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .854
Loader.bytesTotal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .855
Loader.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .856
Loader.content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .858
Loader.contentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .859
Loader.load() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
Loader.percentLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
Loader.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .862
Loader.scaleContent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .864
Chapitre 29 : Composants média . . . . . . . . . . . . . . . . . . . . . . . . 865
Interaction avec les composants média . . . . . . . . . . . . . . . . . . . . . . . . .866
Présentation des composants média . . . . . . . . . . . . . . . . . . . . . . . . . . .868
Utilisation des composants média . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
Paramètres des composants média . . . . . . . . . . . . . . . . . . . . . . . . . . . .879
Création d’applications à l’aide des composants média . . . . . . . . . . .882
Personnalisation des composants média. . . . . . . . . . . . . . . . . . . . . . . .883
Classe Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .883
Media.activePlayControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .887
Media.addCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .888
Media.aspectRatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .889
14 Table des matières
Media.associateController(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
Media.associateDisplay() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
Media.autoPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .891
Media.autoSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
Media.backgroundStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893
Media.bytesLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
Media.bytesTotal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
Media.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
Media.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
Media.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897
Media.contentPath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
Media.controllerPolicy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
Media.controlPlacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
Media.cuePoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
Media.cuePoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .901
Media.displayFull(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
Media.displayNormal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
Media.getCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
Media.horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
Media.mediaType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
Media.pause() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
Media.play() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
Media.playheadChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
Media.playheadTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
Media.playing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
Media.preferredHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
Media.preferredWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .910
Media.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
Media.scrubbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .912
Media.removeAllCuePoints(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .913
Media.removeCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .914
Media.setMedia() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .915
Media.stop(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .916
Media.totalTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .916
Media.volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .917
Media.volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .918
Chapitre 30 : Composant Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 919
Interaction avec le composant Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
Utilisation du composant Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .921
Présentation des types d’élément de menu . . . . . . . . . . . . . . . . . . . . . 924
A propos des propriétés d’objet d’initialisation . . . . . . . . . . . . . . . . . . 927
Table des matières 15
Paramètres de menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .928
Création d’une application avec le composant Menu . . . . . . . . . . . . 929
Personnalisation du composant Menu . . . . . . . . . . . . . . . . . . . . . . . . . .933
Menu class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .938
Menu.addMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
Menu.addMenuItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
Menu.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
Menu.createMenu(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
Menu.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
Menu.getMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
Menu.hide(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
Menu.indexOf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
Menu.menuHide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
Menu.menuShow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .957
Menu.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959
Menu.removeMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961
Menu.removeMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .962
Menu.rollOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
Menu.rollOver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .966
Menu.setMenuItemEnabled() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .968
Menu.setMenuItemSelected() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
Menu.show(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .970
Classe MenuDataProvider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .972
MenuDataProvider.addMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . .973
MenuDataProvider.addMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . .975
MenuDataProvider.getMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
MenuDataProvider.indexOf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .978
MenuDataProvider.removeMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . 980
MenuDataProvider.removeMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . .982
Chapitre 31 : Composant MenuBar . . . . . . . . . . . . . . . . . . . . . . 985
Interaction avec le composant MenuBar . . . . . . . . . . . . . . . . . . . . . . . .986
Utilisation du composant MenuBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . .986
Personnalisation du composant MenuBar. . . . . . . . . . . . . . . . . . . . . . 989
Classe MenuBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
MenuBar.addMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996
MenuBar.addMenuAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998
MenuBar.dataProvider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1000
MenuBar.getMenuAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
MenuBar.getMenuEnabledAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1002
MenuBar.labelField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1003
MenuBar.labelFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1004
16 Table des matières
MenuBar.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005
MenuBar.removeMenuAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
MenuBar.setMenuEnabledAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1007
Chapitre 32 : Composant NumericStepper . . . . . . . . . . . . . . 1009
Utilisation du composant NumericStepper. . . . . . . . . . . . . . . . . . . . . .1010
Personnalisation du composant NumericStepper . . . . . . . . . . . . . . . 1013
Classe NumericStepper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
NumericStepper.change. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
NumericStepper.maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
NumericStepper.minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
NumericStepper.nextValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
NumericStepper.previousValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026
NumericStepper.stepSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
NumericStepper.value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
Chapitre 33 : Classe PopUpManager. . . . . . . . . . . . . . . . . . . . 1029
PopUpManager.createPopUp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
PopUpManager.deletePopUp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
Chapitre 34 : Composant ProgressBar . . . . . . . . . . . . . . . . . . 1033
Utilisation du composant ProgressBar . . . . . . . . . . . . . . . . . . . . . . . . 1034
Personnalisation du composant ProgressBar . . . . . . . . . . . . . . . . . . 1039
Classe ProgressBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
ProgressBar.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
ProgressBar.conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048
ProgressBar.direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
ProgressBar.indeterminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050
ProgressBar.label. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1051
ProgressBar.labelPlacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
ProgressBar.maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
ProgressBar.minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
ProgressBar.mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
ProgressBar.percentComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058
ProgressBar.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059
ProgressBar.setProgress() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
ProgressBar.source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
ProgressBar.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
Chapitre 35 : Composant RadioButton . . . . . . . . . . . . . . . . . . .1067
Utilisation du composant RadioButton . . . . . . . . . . . . . . . . . . . . . . . . 1068
Personnalisation du composant RadioButton . . . . . . . . . . . . . . . . . . 1070
Table des matières 17
Classe RadioButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
RadioButton.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
RadioButton.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
RadioButton.groupName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1082
RadioButton.label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1084
RadioButton.labelPlacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1085
RadioButton.selected. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
RadioButton.selectedData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1088
RadioButton.selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1089
Chapitre 36 : Composant RadioButtonGroup. . . . . . . . . . . . . . 1091
Chapitre 37 : Composant RDBMSResolver . . . . . . . . . . . . . . .1093
Utilisation du composant RDBMSResolver . . . . . . . . . . . . . . . . . . . .1094
Classe RDBMSResolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1098
RDBMSResolver.addFieldInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1100
RDBMSResolver.beforeApplyUpdates . . . . . . . . . . . . . . . . . . . . . . . . .1101
RDBMSResolver.deltaPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1102
RDBMSResolver.fieldInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103
RDBMSResolver.nullValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
RDBMSResolver.reconcileResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
RDBMSResolver.reconcileUpdates . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105
RDBMSResolver.tableName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106
RDBMSResolver.updateMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107
RDBMSResolver.updatePacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108
RDBMSResolver.updateResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109
Chapitre 38 : Classe RectBorder . . . . . . . . . . . . . . . . . . . . . . . . . 1111
Utilisation des styles avec la classe RectBorder . . . . . . . . . . . . . . . . . 1112
Création d’une implémentation RectBorder personnalisée . . . . . . . . 1114
Chapitre 39 : Classe Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1119
Chargement de contenu externe dans des écrans. . . . . . . . . . . . . . . 1120
Classe Screen (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
Screen.allTransitionsInDone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128
Screen.allTransitionsOutDone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129
Screen.currentFocusedScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129
Screen.getChildScreen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131
Screen.indexInParent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132
Screen.mouseDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132
Screen.mouseDownSomewhere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133
18 Table des matières
Screen.mouseMove. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134
Screen.mouseOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135
Screen.mouseOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136
Screen.mouseUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137
Screen.mouseUpSomewhere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137
Screen.numChildScreens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138
Screen.parentIsScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139
Screen.parentScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1140
Screen.rootScreen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1140
Chapitre 40 : Composant ScrollPane. . . . . . . . . . . . . . . . . . . . . 1141
Utilisation du composant ScrollPane. . . . . . . . . . . . . . . . . . . . . . . . . . . 1142
Personnalisation du composant ScrollPane . . . . . . . . . . . . . . . . . . . . 1145
Classe ScrollPane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146
ScrollPane.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151
ScrollPane.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
ScrollPane.contentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154
ScrollPane.getBytesLoaded(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
ScrollPane.getBytesTotal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157
ScrollPane.hLineScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158
ScrollPane.hPageScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1159
ScrollPane.hPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
ScrollPane.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
ScrollPane.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
ScrollPane.refreshPane() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
ScrollPane.scroll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165
ScrollPane.scrollDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
ScrollPane.vLineScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169
ScrollPane.vPageScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170
ScrollPane.vPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1171
ScrollPane.vScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172
Chapitre 41 : Classe SimpleButton . . . . . . . . . . . . . . . . . . . . . . . 1173
SimpleButton.click. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177
SimpleButton.emphasized. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179
SimpleButton.emphasizedStyleDeclaration . . . . . . . . . . . . . . . . . . . . 1180
SimpleButton.selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1180
SimpleButton.toggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181
Table des matières 19
Chapitre 42 : Classe Slide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183
Utilisation de la classe Slide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184
Classe Slide (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185
Slide.autoKeyNav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193
Slide.currentChildSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194
Slide.currentFocusedSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
Slide.currentSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
Slide.defaultKeydownHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196
Slide.firstSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198
Slide.getChildSlide(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199
Slide.gotoFirstSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1200
Slide.gotoLastSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201
Slide.gotoNextSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1203
Slide.gotoPreviousSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1205
Slide.gotoSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207
Slide.hideChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1208
Slide.indexInParentSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1209
Slide.lastSlide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210
Slide.nextSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211
Slide.numChildSlides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
Slide.overlayChildren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213
Slide.parentIsSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214
Slide.parentIsSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215
Slide.playHidden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216
Slide.previousSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216
Slide.revealChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1217
Slide.rootSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1218
Chapitre 43 : Classe StyleManager . . . . . . . . . . . . . . . . . . . . . . 1219
StyleManager.registerColorName() . . . . . . . . . . . . . . . . . . . . . . . . . . .1220
StyleManager.registerColorStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1221
StyleManager.registerInheritingStyle(). . . . . . . . . . . . . . . . . . . . . . . . .1222
Chapitre 44 : Classe SystemManager . . . . . . . . . . . . . . . . . . . .1223
SystemManager.screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1224
Chapitre 45 : Composant TextArea . . . . . . . . . . . . . . . . . . . . . .1225
Utilisation du composant TextArea . . . . . . . . . . . . . . . . . . . . . . . . . . . .1226
Personnalisation du composant TextArea . . . . . . . . . . . . . . . . . . . . . .1229
Classe TextArea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1232
TextArea.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237
20 Table des matières
TextArea.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239
TextArea.hPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1240
TextArea.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1241
TextArea.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1242
TextArea.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243
TextArea.maxChars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244
TextArea.maxHPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245
TextArea.maxVPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1246
TextArea.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
TextArea.restrict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248
TextArea.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249
TextArea.styleSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251
TextArea.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253
TextArea.vPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254
TextArea.vScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1255
TextArea.wordWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256
Chapitre 46 : Composant TextInput . . . . . . . . . . . . . . . . . . . . . 1257
Utilisation du composant TextInput . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258
Personnalisation du composant TextInput . . . . . . . . . . . . . . . . . . . . . 1260
Classe TextInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263
TextInput.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1268
TextInput.editable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270
TextInput.enter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270
TextInput.hPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1273
TextInput.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274
TextInput.maxChars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1275
TextInput.maxHPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1276
TextInput.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1277
TextInput.restrict. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1278
TextInput.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1280
Chapitre 47 : Interface TransferObject. . . . . . . . . . . . . . . . . . . . 1281
TransferObject.clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282
TransferObject.getPropertyData() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283
TransferObject.setPropertyData() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284
Chapitre 48 : Classe TransitionManager . . . . . . . . . . . . . . . . . 1285
Utilisation de la classe TransitionManager . . . . . . . . . . . . . . . . . . . . . 1286
Récapitulatif de la classe TransitionManager . . . . . . . . . . . . . . . . . . 1288
TransitionManager.allTransitionsInDone . . . . . . . . . . . . . . . . . . . . . . 1289
Table des matières 21
TransitionManager.allTransitionsOutDone . . . . . . . . . . . . . . . . . . . . . 1291
TransitionManager.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1292
TransitionManager.contentAppearance . . . . . . . . . . . . . . . . . . . . . . . 1293
TransitionManager.start() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1294
TransitionManager.startTransition() . . . . . . . . . . . . . . . . . . . . . . . . . . .1295
TransitionManager.toString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297
Classes basées sur la classe Transition . . . . . . . . . . . . . . . . . . . . . . . .1298
Chapitre 49 : Interface TreeDataProvider . . . . . . . . . . . . . . . . . 1307
TreeDataProvider.addTreeNode() . . . . . . . . . . . . . . . . . . . . . . . . . . . .1308
TreeDataProvider.addTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . .1309
TreeDataProvider.attributes.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1310
TreeDataProvider.attributes.label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1311
TreeDataProvider.getTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312
TreeDataProvider.removeTreeNode() . . . . . . . . . . . . . . . . . . . . . . . . . 1312
TreeDataProvider.removeTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . 1313
Chapitre 50 : Composant Tree . . . . . . . . . . . . . . . . . . . . . . . . . . 1315
Utilisation du composant Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
Personnalisation du composant Tree . . . . . . . . . . . . . . . . . . . . . . . . . .1324
Classe Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1330
Tree.addTreeNode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337
Tree.addTreeNodeAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1338
Tree.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1340
Tree.firstVisibleNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342
Tree.getDisplayIndex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1343
Tree.getIsBranch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
Tree.getIsOpen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
Tree.getNodeDisplayedAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1347
Tree.getTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1348
Tree.nodeClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1349
Tree.nodeOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351
Tree.refresh() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
Tree.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1354
Tree.removeTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1355
Tree.selectedNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357
Tree.selectedNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1358
Tree.setIcon() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1359
Tree.setIsBranch(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1360
Tree.setIsOpen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1361
22 Table des matières
Chapitre 51 : Classe Tween . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1363
Utilisation de la classe Tween . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365
Application des méthodes d’accélération aux composants . . . . . . 1368
Tween.continueTo(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1372
Tween.duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1373
Tween.fforward() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1374
Tween.finish. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1375
Tween.FPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1376
Tween.nextFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1377
Tween.onMotionChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1378
Tween.onMotionFinished. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379
Tween.onMotionResumed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1380
Tween.onMotionStarted. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1381
Tween.onMotionStopped. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1382
Tween.position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1383
Tween.prevFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1384
Tween.resume() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1385
Tween.rewind() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1387
Tween.start() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1388
Tween.stop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1389
Tween.time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1390
Tween.toString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1391
Tween.yoyo(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1392
Chapitre 52 : Classe UIComponent . . . . . . . . . . . . . . . . . . . . . 1393
Classe UIComponent (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394
UIComponent.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1397
UIComponent.focusIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1397
UIComponent.focusOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1399
UIComponent.getFocus(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1400
UIComponent.keyDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1401
UIComponent.keyUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1402
UIComponent.setFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1403
UIComponent.tabIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1404
Chapitre 53 : Classe UIEventDispatcher . . . . . . . . . . . . . . . . . 1405
UIEventDispatcher.keyDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1407
UIEventDispatcher.keyUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1407
UIEventDispatcher.load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1408
UIEventDispatcher.mouseDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1409
UIEventDispatcher.mouseOut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1409
Table des matières 23
UIEventDispatcher.mouseOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1410
UIEventDispatcher.mouseUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1411
UIEventDispatcher.removeEventListener() . . . . . . . . . . . . . . . . . . . . . 1411
UIEventDispatcher.unload. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1412
Chapitre 54 : Classe UIObject . . . . . . . . . . . . . . . . . . . . . . . . . . 1413
UIObject.bottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416
UIObject.createClassObject(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416
UIObject.createLabel(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1417
UIObject.createObject(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419
UIObject.destroyObject(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419
UIObject.doLater() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1420
UIObject.draw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1422
UIObject.getStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1423
UIObject.height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1424
UIObject.hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1424
UIObject.invalidate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1425
UIObject.left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1426
UIObject.load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427
UIObject.move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1428
UIObject.move(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1429
UIObject.redraw() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1430
UIObject.resize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1431
UIObject.reveal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1433
UIObject.right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1434
UIObject.scaleX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1434
UIObject.scaleY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1435
UIObject.setSize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1435
UIObject.setSkin(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1436
UIObject.setStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1438
UIObject.top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1439
UIObject.unload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1440
UIObject.visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1441
UIObject.width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1441
UIObject.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1442
UIObject.y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1442
Chapitre 55 : Composant UIScrollBar . . . . . . . . . . . . . . . . . . . .1443
Utilisation du composant UIScrollBar. . . . . . . . . . . . . . . . . . . . . . . . . .1443
Personnalisation du composant UIScrollBar . . . . . . . . . . . . . . . . . . . 1447
Classe UIScrollBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1450
24 Table des matières
UIScrollBar.horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1454
UIScrollBar.lineScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1455
UIScrollBar.pageScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1457
UIScrollBar.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1458
UIScrollBar.scrollPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1461
UIScrollBar.setScrollProperties(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1463
UIScrollBar.setScrollTarget() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1464
UIScrollBar._targetInstanceName . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1465
Chapitre 56 : Classes de service Web . . . . . . . . . . . . . . . . . . . .1467
Disponibilité des classes de service Web à l’exécution . . . . . . . . . . 1468
Classe Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1468
Constructeur de la classe Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1470
Log.getDateString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1471
Log.logInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1472
Log.logDebug(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1473
Log.level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1475
Log.name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476
Log.onLog(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1477
Classe PendingCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478
PendingCall.getOutputParameter() . . . . . . . . . . . . . . . . . . . . . . . . . . . 1480
PendingCall.getOutputParameterByName() . . . . . . . . . . . . . . . . . . . . 1481
PendingCall.getOutputParameters() . . . . . . . . . . . . . . . . . . . . . . . . . . 1482
PendingCall.getOutputValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1482
PendingCall.getOutputValues() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1483
PendingCall.myCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484
PendingCall.onFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485
PendingCall.onResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1486
PendingCall.request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1487
PendingCall.response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488
Classe SOAPCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488
SOAPCall.concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1490
SOAPCall.doDecoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1490
SOAPCall.doLazyDecoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1491
Classe WebService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1491
Types pris en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1493
Sécurité WebService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1496
Constructeur de la classe WebService . . . . . . . . . . . . . . . . . . . . . . . . 1496
WebService.getCall() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498
WebService.myMethodName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1499
WebService.onFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1500
WebService.onLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1502
Table des matières 25
Chapitre 57 : Composant WebServiceConnector . . . . . . . . . .1503
Utilisation du composant WebServiceConnector . . . . . . . . . . . . . . .1504
Classe WebServiceConnector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1506
WebServiceConnector.multiple
SimultaneousAllowed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1507
WebServiceConnector.operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1508
WebServiceConnector.params . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1509
WebServiceConnector.result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1510
WebServiceConnector.results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1511
WebServiceConnector.send. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1511
WebServiceConnector.status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512
WebServiceConnector.suppress
InvalidCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1516
WebServiceConnector.trigger(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1517
WebServiceConnector.WSDLURL . . . . . . . . . . . . . . . . . . . . . . . . . . . 1518
Chapitre 58 : Composant Window . . . . . . . . . . . . . . . . . . . . . . . 1519
Utilisation du composant Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1520
Personnalisation du composant Window. . . . . . . . . . . . . . . . . . . . . . .1523
Classe Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1527
Window.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1532
Window.closeButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1534
Window.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1535
Window.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1537
Window.contentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1538
Window.deletePopUp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1539
Window.mouseDownOutside. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1540
Window.title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1542
Window.titleStyleDeclaration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1543
Chapitre 59 : Composant XMLConnector . . . . . . . . . . . . . . . . .1545
Utilisation du composant XMLConnector . . . . . . . . . . . . . . . . . . . . . .1545
Classe XMLConnector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1548
XMLConnector.direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1549
XMLConnector.ignoreWhite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1550
XMLConnector.multipleSimultaneousAllowed. . . . . . . . . . . . . . . . . . 1551
XMLConnector.params . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1552
XMLConnector.result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1553
XMLConnector.results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1553
XMLConnector.send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1554
XMLConnector.status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1555
26 Table des matières
XMLConnector.suppressInvalidCalls. . . . . . . . . . . . . . . . . . . . . . . . . . 1557
XMLConnector.trigger() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1559
XMLConnector.URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1560
Chapitre 60 : Classe XPathAPI . . . . . . . . . . . . . . . . . . . . . . . . . 1563
Chapitre 61 : Composant XUpdateResolver . . . . . . . . . . . . . . 1565
Utilisation du composant XUpdateResolver. . . . . . . . . . . . . . . . . . . . 1566
Classe XUpdateResolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1569
XUpdateResolver.beforeApplyUpdates . . . . . . . . . . . . . . . . . . . . . . . . 1571
XUpdateResolver.deltaPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1572
XUpdateResolver.includeDeltaPacketInfo. . . . . . . . . . . . . . . . . . . . . 1573
XUpdateResolver.reconcileResults . . . . . . . . . . . . . . . . . . . . . . . . . . . 1573
XUpdateResolver.updateResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1574
XUpdateResolver.xupdatePacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1575
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1577
Table des matières 27
28 Table des matières
CHAPITRE 1

Composants ActionScript 2.0

La Référence du langage des composants ActionScript 2.0 détaille chaque composant qui est disponible dans la version 2 de l’architecture des composants Adobe avec son interface de programmation d’applications (API). Pour savoir comment utiliser, personnaliser et créer des composants de la version 2, consultez le guide Utilisation des composants ActionScript 2.
REMARQUE
Adobe Flash CS3 Professional englobe à la fois les composants d’ActionScript 2.0 et d’ActionScript 3.0. Toutefois, vous ne pouvez pas mélanger ces deux groupes de composants. Vous devez définir l’un ou l’autre pour une application donnée. Flash CS3 présente soit des composants ActionScript 2.0, soit des composants ActionScript 3.0 selon que vous avez ouvert un fichier ActionScript 2.0 ou ActionScript 3.0. Lorsque vous créez un nouveau document Flash CS3, vous devez spécifier soit un fichier Flash (ActionScript 3.0), soit un fichier Flash (ActionScript 2.0). Lorsque vous ouvrez un document existant, Flash examine les Paramètres de publication afin de déterminer quel ensemble de composants utiliser. Pour plus d’informations sur les composants ActionScript 3.0, consultez Utilisation des composants ActionScript 3.0.
Dans cet ouvrage, chaque description de composant contient des informations sur les thèmes suivants :
Interaction clavier
Aperçu en direct
Accessibilité
Définition des paramètres du composant
Utilisation du composant dans une application
Personnalisation du composant avec des styles et des enveloppes
Méthodes, propriétés et événements ActionScript
Les composants sont présentés par ordre alphabétique. Vous les trouverez également classés par catégorie dans les tableaux qui suivent.
Ce chapitre contient les sections suivantes :
Types de composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Autres listes dans cet ouvrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1
29
Types de composants
Les tableaux suivants répertorient les composants de la version 2, classés par catégorie.

Composants d’interface utilisateur (IU)

Composant Description
Composant Accordion Jeu d’affichages verticaux se chevauchant, dont les boutons
supérieurs permettent aux utilisateurs de passer d’un affichage à l’autre.
Composant Alert Fenêtre contenant un message et des boutons pour capturer
la réponse de l’utilisateur.
Composant Button Bouton pouvant être redimensionné et personnalisé à l’aide
d’une icône.
Composant CheckBox Permet aux utilisateurs de faire un choix booléen (true ou
false).
Composant ComboBox Permet aux utilisateurs de choisir une option dans une liste
déroulante. Ce composant peut contenir un champ de texte susceptible d’être sélectionné en haut de la liste et qui permet aux utilisateurs d’effectuer une recherche dans la liste.
Composant DataGrid Permet aux utilisateurs d’afficher et de manipuler plusieurs
colonnes de données.
Composant DateChooser Permet aux utilisateurs de sélectionner une ou plusieurs dates
dans un calendrier.
Composant DateField Champ de texte non sélectionnable, avec icône de calendrier.
Lorsque l’utilisateur clique dans le cadre de sélection du composant, Flash affiche un composant DateChooser.
Composant Label Champ de texte d’une ligne non modifiable.
Composant List Permet aux utilisateurs de choisir une ou plusieurs options
dans une liste déroulante.
Composant Loader Conteneur détenant un fichier SWF ou JPEG chargé.
Composant Menu Menu standard d’application bureautique qui permet aux
utilisateurs de choisir une commande dans une liste.
Composant MenuBar Barre de menus horizontale.
Composant NumericStepper Zone de texte équipée de flèches permettant d’augmenter et
de réduire la valeur d’un nombre.
30 Composants ActionScript 2.0
Composant Description
Composant ProgressBar Présente la progression d’un processus, par exemple une
opération de chargement.
Composant RadioButton Permet aux utilisateurs de choisir parmi des options qui
s’excluent réciproquement.
Composant ScrollPane Affiche des clips, des bitmaps et des fichiers SWF dans une
zone délimitée à l’aide de barres de défilement automatiques.
Composant TextArea Champ de texte à plusieurs lignes modifiable.
Composant TextInput Champ de saisie de texte à une ligne modifiable.
Composant Tree Permet à un utilisateur de manipuler des informations
hiérarchisées.
Composant Window Fenêtre contenant une barre de titre, une légende, une
bordure, un bouton Fermer et présentant du contenu à l’utilisateur.
Composant UIScrollBar Permet d’ajouter une barre de défilement à un champ de texte.

Gestion des données

Composant Description
Classes de liaison des données
Composant DataHolder Contient des données et peut être utilisé en tant que
API DataProvider Modèle pour les listes de données à accès linéaire. Il offre des
Composant DataSet Bloc de construction pour la création d’applications orientées
Composant RDBMSResolver
Classes de service Web Classes permettant d’accéder aux services Web qui utilisent
Composant WebServiceConnector
Classes qui implémentent la fonctionnalité de liaison des données Flash lors de l’exécution.
connecteur entre composants.
capacités de manipulation simple de tableaux qui distribuent leurs modifications.
données.
Permet d’enregistrer les données sur toute source de données prise en charge. Ce composant traduit le format XML qui peut être reçu et analysé par un service Web, JavaBean, un servlet ou une page ASP.
le protocole SOAP (Simple Object Access Protocol). Ces classes se trouvent dans le package mx.services.
Fournit un accès sans script aux appels de méthode de service Web.
Types de composants 31
Composant Description
Composant XMLConnector Lit et rédige des documents XML à l’aide des méthodes
GET et POST.
HTTP
Composant XUpdateResolver
Permet d’enregistrer les données sur toute source de données prise en charge. Ce composant traduit DeltaPacket en XUpdate.

Composants de support

Composant Description
Composant FLVPlayback Permet d’inclure un lecteur vidéo dans votre application Flash
afin de lire de la vidéo progressive en continu sur HTTP depuis un service de diffusion en continu des vidéos de Flash (FVSS, Flash Video Streaming Service) ou FMS (Flash Media server).
Composant MediaController Contrôle la lecture de support en flux continu dans une
application (reportez-vous à «Composants média», à
la page 865).
Composant MediaDisplay Affiche le support en flux continu dans une application
(reportez-vous à « Composants média », à la page 865).
Composant MediaPlayback Combinaison des composants MediaDisplay
et MediaController (reportez-vous à «Composants média», à
la page 865).

Gestionnaires

Classe Description
Classe DepthManager Gère la profondeur des objets dans les piles.
Classe FocusManager Gère la navigation entre les composants via la touche de
tabulation. Gère également les changements de focus lorsque l’utilisateur clique dans l’application.
Classe PopUpManager Permet de créer et de supprimer des fenêtres contextuelles.
Classe StyleManager Permet d’enregistrer les styles et de gérer les styles hérités.
Classe SystemManager Permet de choisir la fenêtre de niveau supérieur qui est
activée.
Classe TransitionManager Permet de gérer les effets animés sur les diapositives et
les clips.
32 Composants ActionScript 2.0

Ecrans

Catégorie Description
Classe Form Permet de manipuler les écrans d’applications de formulaires
lors de l’exécution.
Classe Screen Classe de base des classes Slide et Form.
Classe Slide Permet de manipuler les écrans de diaporamas lors de
l’exécution.

Autres listes dans cet ouvrage

Ce guide décrit également plusieurs classes et API qui ne sont pas incluses dans les catégories de composants répertoriées dans la section précédente. Ces classes et API sont répertoriées dans le tableau suivant.
Elément Description
API CellRenderer Ensemble de propriétés et de méthodes que les composants
à base de listes (List, DataGrid, Tree, Menu et ComboBox) utilisent pour manipuler et afficher le contenu de cellules personnalisées pour chacune de leurs lignes.
Interface Collection Permet de gérer un groupe d’éléments apparentés, appelés
éléments de collection. Chaque élément de collection de cet ensemble présente des propriétés décrites dans les métadonnées de sa définition.
Classe DataGridColumn Permet de créer des objets à utiliser comme colonnes d’une
grille de données.
Classe Delegate Permet d’exécuter une fonction transmise d’un objet à un
autre dans le contexte du premier objet.
Interface Delta Permet d’accéder à l’objet transféré, à la collection et aux
modifications apportées à l’objet transféré.
Classe DeltaItem Fournit des informations sur une opération individuelle
effectuée sur un objet de transfert.
Interface DeltaPacket Avec l’interface Delta et la classe DeltaItem, permet de gérer
les modifications apportées aux données.
Classe EventDispatcher Permet d’ajouter et de supprimer des écouteurs
d’événements de sorte que votre code puisse réagir de façon appropriée à un événement.
Interface Iterator Permet de parcourir les objets d’une collection.
Autres listes dans cet ouvrage 33
Elément Description
Classe MenuDataProvider Permet aux occurrences XML affectées à une propriété
Menu.dataProvider d’utiliser des méthodes et des propriétés
pour manipuler leurs propres données et les menus associés.
Classe RectBorder Décrit les styles utilisés pour contrôler les bordures des
composants.
Classe SimpleButton Permet de contrôler certains aspects de l’apparence et du
comportement d’un bouton.
Interface TransferObject Définit un ensemble de méthodes que les éléments gérés par
le composant DataSet doivent implémenter.
Interface TreeDataProvider Ensemble de propriétés et de méthodes utilisées pour créer
du code XML pour la propriété
Classe Tween Permet d’utiliser ActionScript pour déplacer, redimensionner
et appliquer aisément des fondus aux clips sur la scène.
Classe UIComponent Fournit des méthodes, des propriétés et des événements qui
permettent aux composants de partager certains comportements communs.
Classe UIEventDispatcher Permet aux composants de déclencher certains événements.
Cette classe est combinée à la classe UIComponent.
Classe UIObject Classe de base de tous les composants.
Tree.dataProvider.
34 Composants ActionScript 2.0
CHAPITRE 2

Composant Accordion

Il s’agit d’un navigateur contenant une série d’enfants qui s’affichent l’un après l’autre. Les enfants doivent être des objets héritant de la classe UIObject (qui inclut tous les composants) ; ces enfants forment généralement une sous-classe de la classe View. Il s’agit notamment de clips affectés à la classe mx.core.View. Pour conserver l’ordre de tabulation dans les enfants d’un accordéon, les enfants doivent également être des occurrences de la classe View.
REMARQUE
Le composant Accordion est pris en charge uniquement si vous travaillez dans un document spécifiant ActionScript 2.0 dans ses paramètres de publication.
Un accordéon crée et gère les boutons d’en-tête sur lesquels un utilisateur peut cliquer pour passer d’un enfant de l’accordéon à un autre. La disposition d’un accordéon est verticale et l’accordéon est doté de boutons d’en-tête qui couvrent toute sa largeur. Un en-tête est associé à chaque enfant, mais chaque en-tête appartient à l’accordéon (et non à l’enfant). Lorsqu’un utilisateur clique sur un en-tête, l’enfant associé s’affiche sous cet en-tête. Le passage au nouvel enfant utilise une animation de transition.
Un accordéon doté d’enfants accepte le focus et modifie l’apparence de ses en-têtes afin d’afficher le focus. Lorsqu’un utilisateur emploie la tabulation dans un accordéon, l’en-tête sélectionné affiche l’indicateur de focus. Un accordéon sans enfants n’accepte pas le focus. Lorsque vous cliquez sur des composants qui acceptent le focus dans l’enfant sélectionné, ils reçoivent le focus. Lorsqu’une occurrence d’accordéon a le focus, vous pouvez utiliser les touches suivantes pour la contrôler :
2
Touche Description
Flèche vers le bas, Flèche vers la droite
Flèche vers le haut, Flèche vers la gauche
Place le focus sur l’en-tête de l’enfant suivant. Le focus passe du dernier en-tête au premier, sans modification de l’enfant sélectionné.
Place le focus sur l’en-tête de l’enfant précédent. Le focus passe du premier en-tête au dernier, sans modification de l’enfant sélectionné.
35
Touche Description
Fin Sélectionne le dernier enfant.
Entrée/Espace Sélectionne l’enfant associé à l’en-tête qui a le focus.
Origine Sélectionne le premier enfant.
Pg. Suiv. Sélectionne l’enfant suivant. La sélection passe du dernier enfant au
premier.
Pg. Préc. Sélectionne l’enfant précédent. La sélection passe du premier
enfant au dernier.
Contrôle + Place le focus sur le composant précédent. Ce composant peut être
situé dans l’enfant sélectionné ou hors de l’accordéon, mais ne peut en aucun cas être un autre en-tête dans le même accordéon.
Place le focus sur le composant suivant. Ce composant peut être situé dans l’enfant sélectionné ou hors de l’accordéon, mais ne peut en aucun cas être un autre en-tête dans le même accordéon.
Les lecteurs d’écran ne peuvent pas accéder au composant Accordion.

Utilisation du composant Accordion

Ce composant permet de présenter des formulaires comportant plusieurs parties. Par exemple, un accordéon de trois enfants peut présenter des formulaires que l’utilisateur remplit pour indiquer ses adresses de livraison et de facturation, ainsi que les données de paiement nécessaires à une transaction de commerce électronique. Le choix d’un accordéon à la place de plusieurs pages Web minimise le trafic sur le serveur et permet à l’utilisateur de mieux percevoir la progression et le contexte de la transaction.

Paramètres du composant Accordion

Dans l’inspecteur des propriétés ou l’inspecteur de composants (Fenêtre > Inspecteur de composants), vous pouvez définir les paramètres de création suivants pour chaque occurrence du composant Accordion :
childIcons est un tableau qui spécifie les identifiants de liaison des symboles de bibliothèque
à utiliser comme icônes sur les en-têtes de l’accordéon. La valeur par défaut est (tableau vide).
childLabels est un tableau qui spécifie les étiquettes de texte à afficher sur les en-têtes de
l’accordéon. La valeur par défaut est
36 Composant Accordion
[] (tableau vide).
[]
childNames est un tableau qui spécifie les noms d’occurrence des enfants de l’accordéon.
Les valeurs saisies sont les noms des occurrences des symboles des enfants définis dans le paramètre childSymbols. La valeur par défaut est
childSymbols est un tableau qui spécifie les identifiants de liaison des symboles de
bibliothèque à utiliser pour créer les enfants de l’accordéon. La valeur par défaut est
[] (tableau vide).
[]
(tableau vide). Dans l’inspecteur des composants, vous pouvez définir les paramètres supplémentaires
suivants pour chaque occurrence du composant Accordion (Fenêtre > Inspecteur de composants) :
enabled est une valeur booléenne qui indique si le composant peut recevoir le focus et
l’entrée. La valeur par défaut est
visible est une valeur booléenne indiquant si l’objet est visible (true) ou non (false).
La valeur par défaut est
REMARQUE
Les propriétés minHeight et minWidth sont utilisées par des routines de dimensionnement internes. Elles sont définies dans UIObject et remplacées par différents composants selon vos besoins. Ces propriétés peuvent être utilisées pour créer un gestionnaire de dispositions personnalisées. Dans le cas contraire, la définition de ces propriétés dans l’inspecteur de composants n’a aucun effet visible.
true.
true.
Vous pouvez rédiger du code ActionScript pour contrôler d’autres options du composant Accordion en utilisant les propriétés, méthodes et événements ActionScript. Pour plus d’informations, voir « Classe Accordion », à la page 46.

Création d’une application avec le composant Accordion

Dans cet exemple, le développeur conçoit la section de paiement d’un magasin en ligne. L’application appelle un accordéon composé de trois formulaires, dans lesquels l’utilisateur entre son adresse de livraison, son adresse de facturation et ses données de paiement. Les formulaires d’adresse de livraison et d’adresse de facturation sont identiques.
Pour ajouter un composant Accordion à une application :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier Flash (ActionScript 2.0).
2. Choisissez Insertion > Nouveau symbole et appelez-le AddressForm.
3. Si l’écran avancé n’est pas affiché, cliquez sur le bouton Avancé.
4. Sélectionnez Exporter pour ActionScript. Dans le champ Classe, entrez mx.core.View, puis
cliquez sur OK.
Utilisation du composant Accordion 37
Pour pouvoir conserver l’ordre de tabulation dans les enfants d’un accordéon, les enfants doivent également être des occurrences de la classe View.
5. Pour créer un formulaire d’adresse factice, faites glisser des composants, tels que Label et
TextInput, du panneau Composants jusquà la Scène. Organisez-les et définissez leurs paramètres dans l’inspecteur des propriétés.
Positionnez les éléments du formulaire sur la scène, par rapport aux coordonnées centrales (0,0). La coordonnée 0,0 du clip est placée dans le coin supérieur gauche de l’accordéon.
6. Choisissez Edition > Modifier le document pour revenir au scénario principal.
7. Répétez les étapes 2 à 6 pour créer un clip nommé CheckoutForm.
8. Faites glisser un composant Accordion à partir du panneau Composants pour l’ajouter à la
scène dans le scénario principal.
9. Dans l’inspecteur des propriétés, procédez comme suit :
Entrez le nom d’occurrence my_acc.
Pour la propriété childSymbols, entrez AddressForm, AddressForm et
CheckoutForm. Ces chaînes spécifient le nom des clips utilisés pour créer les enfants de l’accordéon.
REMARQUE
Les deux premiers enfants sont des occurrences du même clip car les formulaires d’adresse de livraison et d’adresse de facturation sont identiques.
Pour la propriété childNames, entrez shippingAddress, billingAddress et checkout.
Ces chaînes sont les noms ActionScript des enfants de l’accordéon.
Pour la propriété childLabels, entrez Adresse de livraison, Adresse de facturation et
Paiement.
Ces chaînes sont les étiquettes de texte des en-têtes de l’accordéon.
Pour la propriété childIcons, entrez IcôneAdresse, IcôneAdresse et IcônePaiement.
Ces chaînes spécifient les identifiants de liaison des symboles de clip qui sont utilisés comme icônes dans les en-têtes de l’accordéon. Vous devez créer ces symboles de clip si vous souhaitez que les en-têtes incluent des icônes.
10. Choisissez Contrôle > Tester l’animation.
38 Composant Accordion
Pour ajouter des enfants à un composant Accordion à l’aide d’ActionScript :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier Flash (ActionScript 2.0).
2. Faites glisser un composant Accordion du panneau Composants vers la scène.
3. Dans l’inspecteur des propriétés, saisissez le nom d’occurrence my_acc.
4. Faites glisser un composant TextInput vers la bibliothèque.
Cette opération ajoute le composant à la bibliothèque pour que vous puissiez l’instancier dynamiquement à l’step 6..
5. Dans le panneau Actions de l’image 1 du scénario, insérez le code suivant (il appelle la
méthode createChild() pour créer ses affichages enfants) :
import mx.core.View;
// Création de panneaux enfants pour chaque formulaire à afficher // dans l’objet my_acc. my_acc.createChild(View, "shippingAddress", {label: "Shipping
Address"}); my_acc.createChild(View, "billingAddress", {label: "Billing Address"}); my_acc.createChild(View, "payment", {label: "Payment"});
6.
Dans le panneau Actions, sous le code que vous avez saisi à l’étape 5 dans l’image 1, entrez le code suivant (il ajoute deux occurrences de composant TextInput aux enfants du composant Accordion) :
// Création d’une saisie de texte enfant pour le panneau shippingAddress. var firstNameChild_obj:Object =
my_acc.shippingAddress.createChild("TextInput", "firstName", {text:
"First Name"});
// Définition de la position de la saisie de texte. firstNameChild_obj.move(10, 38); firstNameChild_obj.setSize(110, 20);
// Création d’une autre saisie de texte enfant. var lastNameChild_obj:Object =
my_acc.shippingAddress.createChild("TextInput", "lastName", {text:
"Last Name"});
// Définition de la position de la saisie de texte. lastNameChild_obj.move(150, 38); lastNameChild_obj.setSize(140, 20);
Utilisation du composant Accordion 39

Personnalisation du composant Accordion

Vous pouvez transformer un composant Accordion horizontalement et verticalement au cours de la programmation et à l’exécution. Lors de la programmation, sélectionnez le composant sur la scène et utilisez l’outil Transformer librement ou une commande de modification > transformation. A l’exécution, utilisez la méthode
La méthode
setSize() et l’outil de transformation modifient uniquement la largeur des en-
têtes de l’accordéon, ainsi que la largeur et la hauteur de sa zone de contenu. La hauteur des en-têtes et la largeur et la hauteur des enfants n’en sont pas affectées. L’appel de la méthode
setSize() est le seul moyen de modifier le cadre de délimitation d’un accordéon.
Si les en-têtes sont trop petits pour contenir le texte de leurs étiquettes, ces dernières sont rognées. Si la zone de contenu d’un accordéon est plus petite qu’un enfant, celui-ci est rogné.

Utilisation de styles avec le composant Accordion

Vous pouvez définir les propriétés des styles afin de modifier l’aspect de la bordure et de l’arrière-plan d’un composant Accordion.
Un composant Accordion utilise les styles suivants :
Style Thème Description
themeColor
backgroundColor
borderStyle
headerHeight
color
disabledColor
Halo Couleur de base d’un composant. Il s’agit du seul style de
couleur qui n’hérite pas de sa valeur. " et "
haloOrange" sont des valeurs possibles.
Les deux Couleur d’arrière-plan. La couleur par défaut est le blanc.
Les deux Le composant Accordion utilise une occurrence RectBorder
en tant que bordure et répond au styles définis pour cette classe. Pour plus d’informations, voir « Classe RectBorder »,
à la page 1111.
La valeur par défaut du style de bordure du composant Accordion est
Les deux Hauteur des boutons d’en-tête en pixels. La valeur par défaut
est 22.
Les deux Couleur du texte. La valeur par défaut est 0x0B333C pour le
thème Halo et vide pour le thème Sample.
Les deux Couleur du texte lorsque le composant est désactivé.
La couleur par défaut est 0x848384 (gris foncé).
setSize() (voir UIObject.setSize()).
haloGreen", "haloBlue"
solid.
40 Composant Accordion
Style Thème Description
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textDecoration
openDuration
openEasing
Les deux Valeur booléenne qui indique si la police spécifiée dans
fontFamily est de type intégré. Ce style doit être défini sur true si fontFamily fait référence à une police intégrée.
Dans le cas contraire, la police intégrée n’est pas utilisée. Si ce style est défini sur référence à une police intégrée, aucun texte n’est affiché. La valeur par défaut est
Les deux Nom de la police des étiquettes d’en-tête. La valeur par
défaut est «
Les deux Taille, en points, de la police des étiquettes d’en-tête.
La valeur par défaut est 10.
Les deux Style de police des étiquettes d’en-tête : « normal » ou
«
italic ». La valeur par défaut est « normal ».
Les deux Epaisseur de la police des étiquettes d’en-tête : « none » ou
bold ». La valeur par défaut est « none ».
« Tous les composants peuvent également accepter la valeur «
normal » au lieu de « none » pendant un appel à setStyle(),
mais les prochains appels à
Les deux Décoration du texte : « none » ou « underline ».
Les deux Durée, en millisecondes, de l’animation de transition.
Les deux Référence à une fonction d’interpolation qui contrôle
l’animation. Par défaut, sine in/out. Pour plus d’informations, reportez-vous à « Personnalisation des animations de composants » dans Utilisation des composants ActionScript 2.0.
true et que fontFamily ne fait pas
false.
_sans ».
getStyle() renvoient « none ».
Par conséquent, le code suivant définit en italique l’apparence de style de la police dans une occurrence Accordion appelée my_acc :
my_acc.setStyle("fontStyle", "italic");
Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de couleur qui se comporte différemment des autres propriétés de style. Pour plus d’informations, reportez-vous à « Utilisation de styles pour personnaliser la couleur et le texte des composants » dans Utilisation des composants ActionScript 2.0.
Personnalisation du composant Accordion 41

Utilisation d’enveloppes avec le composant Accordion

Le composant Accordion utilise des enveloppes pour représenter les différents états visuels de ses boutons d’en-tête. Pour envelopper les boutons et la barre de titre lors de la programmation, modifiez les symboles d’enveloppes dans le dossier Flash UI Components 2/ Themes/MMDefault/Accordion Assets skins states, dans la bibliothèque de l’un des fichiers FLA de thèmes. Pour plus d’informations, reportez-vous à « A propos de l’application d’enveloppes aux composants » dans Utilisation des composants ActionScript 2.0.
Un composant Accordion est constitué de sa bordure, d’un arrière-plan, de boutons d’en-tête et de ses enfants. La bordure et l’arrière-plan sont fournis par la classe RectBorder par défaut. Pour plus d’informations sur l’application d’enveloppes à la classe RectBorder, reportez-vous à
« Classe RectBorder », à la page 1111. Les en-têtes peuvent recevoir les enveloppes présentées
ci-dessous.
Propriété Description Valeur par défaut
falseUpSkin
falseDownSkin
falseOverSkin
falseDisabled
trueUpSkin
trueDownSkin
trueOverSkin
trueDisabledSkin
Etat relevé (normal) de l’en-tête, au-dessus des enfants réduits.
Etat enfoncé de l’en-tête, au-dessus des enfants réduits.
Etat survolé de l’en-tête, au-dessus des enfants réduits.
Etat désactivé de l’en-tête, au-dessus des enfants réduits.
Etat relevé (normal) de l’en-tête, au-dessus de l’enfant développé.
Etat enfoncé de l’en-tête, au-dessus de l’enfant développé.
Etat survolé de l’en-tête, au-dessus de l’enfant développé.
Etat désactivé de l’en-tête, au-dessus de l’enfant développé.
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
42 Composant Accordion
Utilisation d’ActionScript pour le dessin de l’en-tête du composant Accordion
Les en-têtes par défaut des thèmes Halo et Sample utilisent le même élément d’enveloppe pour tous les états et tracent les vrais graphiques via ActionScript. L’implémentation de Halo utilise une extension de la classe RectBorder et un code d’API de dessin personnalisé pour tracer les états. L’implémentation de Sample utilise la même enveloppe et la même classe ActionScript que l’enveloppe du composant Button.
Pour créer une classe ActionScript, l’utiliser comme enveloppe et fournir différents états, l’enveloppe peut lire sa propriété de style suivant présente le style de bordure défini pour chaque enveloppe :
Propriété Style de bordure
falseUpSkin falseup
falseDownSkin falsedown
falseOverSkin falserollover
falseDisabled falsedisabled
trueUpSkin trueup
trueDownSkin truedown
trueOverSkin truerollover
trueDisabledSkin truedisabled
Pour créer une enveloppe personnalisée par ActionScript pour l’en-tête d’accordéon :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier ActionScript.
2. Copiez le code ActionScript suivant dans le fichier :
import mx.skins.RectBorder; import mx.core.ext.UIObjectExtensions;
borderStyle pour déterminer l’état. Le tableau
class RedGreenBlueHeader extends RectBorder { static var symbolName_str:String = "RedGreenBlueHeader"; static var symbolOwner_obj:Object = RedGreenBlueHeader;
function size():Void { var color_num:Number; // Couleur var borderStyle_str:String = getStyle("borderStyle"); // Attribut
// d’Accordion
Personnalisation du composant Accordion 43
// Définition des couleurs de chaque onglet dans l’Accordion
// pour chaque état d’onglet. switch (borderStyle_str) { case "falseup": case "falserollover": case "falsedisabled": color_num = 0x7777FF; break; case "falsedown": color_num = 0x77FF77; break; case "trueup": case "truedown": case "truerollover": case "truedisabled": color_num = 0xFF7777; break; }
// Effacement du style par défaut et tracé d’un style personnalisé. clear(); lineStyle(0, 0, 100); beginFill(color_num, 100); drawRect(0, 0, __width, __height); endFill(); }
// obligatoire pour les enveloppes static function classConstruct():Boolean { UIObjectExtensions.Extensions(); _global.skinRegistry["AccordionHeaderSkin"] = true; return true; } static var classConstructed_bl:Boolean = classConstruct(); static var UIObjectExtensionsDependency_obj:Object =
UIObjectExtensions; }
Cette classe crée une case carrée en fonction du style de bordure : une case bleue pour les états false relevé, survolé et désactivé, une case verte pour l’état enfoncé normal et une case rouge pour l’enfant développé.
3. Enregistrez le fichier.
Dans cet exemple, nommez ce fichier RedGreenBlueHeader.as.
4. Sélectionnez Fichier > Nouveau, puis choisissez Fichier Flash (ActionScript 2.0).
5. Enregistrez le fichier dans le même dossier que le fichier AS.
6. Sélectionnez Insertion > Nouveau symbole et appelez-le AccordionHeaderSkin.
44 Composant Accordion
7. Si l’écran des paramètres avancés n’est pas affiché, cliquez sur le bouton Avancé.
8. Sélectionnez Exporter pour ActionScript.
L’identifiant est automatiquement renseigné avec AccordionHeaderSkin.
9. Définissez la valeur de la classe sur RedGreenBlueHeader.
10. Assurez-vous que l’option Exporter dans la première image est bien activée, puis
cliquez sur OK.
11. Dans Séquence 1, faites glisser un composant Accordion sur la scène.
12. Définissez les propriétés du composant Accordion pour qu’elles affichent plusieurs enfants.
Par exemple, définissez sur un tableau
13. Sélectionnez Contrôle > Tester l’animation.
[one,two,three].
childLabels sur un tableau [One,Two,Three] et childNames
Utilisation de clips pour personnaliser l’enveloppe d’en-tête du composant Accordion
L’exemple ci-dessus décrit l’utilisation d’une classe ActionScript 2.0 pour personnaliser l’enveloppe d’en-tête Accordion, méthode utilisée par les enveloppes des thèmes Halo et Sample. Toutefois, cet exemple utilise de simples cases colorées et il est plus judicieux dans ce cas d’employer des symboles de clip différents comme enveloppes d’en-tête.
Pour créer des symboles de clip pour les enveloppes d’en-tête du composant Accordion :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier Flash (ActionScript 2.0).
2. Créez un symbole en choisissant Insertion > Nouveau symbole.
3. Nommez-le RedAccordionHeaderSkin.
4. Si l’écran des paramètres avancés n’est pas affiché, cliquez sur le bouton Avancé.
5. Sélectionnez Exporter pour ActionScript.
L’ identifiant est automatiquement renseigné avec
6. Laissez le champ de texte Classe vide.
7. Assurez-vous que l’option Exporter dans la première image est bien activée, puis
cliquez sur OK.
8. Ouvrez le nouveau symbole pour l’édition.
9. Servez-vous des outils de dessin pour créer une case rouge entourée d’une ligne noire.
10. Définissez le style de bordure sur Filet.
RedAccordionHeaderSkin.
Personnalisation du composant Accordion 45
11. Définissez la case, et sa bordure, de sorte qu’elle soit positionnée au point (0,0) avec une
largeur et une hauteur de 100. Le code ActionScript dimensionne l’enveloppe de la manière appropriée.
12. Répétez les étapes 2 à 11 et créez des enveloppes verte et bleue, nommées en conséquence.
13. Cliquez sur le bouton Précédent pour revenir au scénario principal.
14. Faites glisser un composant Accordion sur la scène.
15. Définissez les propriétés du composant Accordion pour qu’elles affichent plusieurs enfants.
Par exemple, définissez sur un tableau
16. L’occurrence Accordion étant sélectionnée, copiez le code ActionScript suivant dans le
[one,two,three].
childLabels sur un tableau [One,Two,Three] et childNames
panneau Actions :
onClipEvent(initialize) {
falseUpSkin = "RedAccordionHeaderSkin";
falseDownSkin = "GreenAccordionHeaderSkin";
falseOverSkin = "RedAccordionHeaderSkin";
falseDisabled = "RedAccordionHeaderSkin";
trueUpSkin = "BlueAccordionHeaderSkin";
trueDownSkin = "BlueAccordionHeaderSkin";
trueOverSkin = "BlueAccordionHeaderSkin";
trueDisabledSkin = "BlueAccordionHeaderSkin"; }
17.
Choisissez Contrôle > Tester l’animation.

Classe Accordion

Héritage MovieClip > Classe UIObject > Classe UIComponent > Affichage > Accordion Nom de classe ActionScript mx.containers.Accordion
Un composant Accordion contient des enfants qui s’affichent l’un après l’autre. A chaque enfant est associé un bouton d’en-tête correspondant, créé en même temps que l’enfant. L’enfant doit être une occurrence de la classe UIObject.
REMARQUE
Le composant Accordion est pris en charge uniquement si vous travaillez dans un document ActionScript 2.0.
46 Composant Accordion
Un symbole de clip devient automatiquement une occurrence de la classe UIObject lorsqu’il devient l’enfant d’un accordéon. Cependant, pour conserver l’ordre de tabulation dans les enfants d’un accordéon, les enfants doivent être aussi des occurrences de la classe View. Si vous utilisez un symbole de clip comme enfant, définissez son champ Classe sur mx.core.View pour qu’il hérite de la classe View.
La définition d’une propriété de la classe Accordion avec ActionScript annule le paramètre du même nom défini dans l’inspecteur des propriétés ou des composants.
Toutes les classes de composants ont une propriété
version qui correspond à une propriété de
classe. Les propriétés de classe ne sont disponibles que pour la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à cette
propriété, utilisez le code suivant :
trace(mx.containers.Accordion.version);
REMARQUE
Le code trace(my_accInstance.version); renvoie undefined.

Méthodes de la classe Accordion

Le tableau suivant présente les méthodes de la classe Accordion.
Méthode Description
Accordion.createChild() Crée un enfant pour une occurrence Accordion.
Accordion.createSegment() Crée un enfant pour une occurrence Accordion.
Ses paramètres sont différents de ceux de la méthode
createChild().
Accordion.destroyChildAt() Détruit un enfant à la position d’index spécifiée.
Accordion.getChildAt() Obtient une référence à un enfant à une position d’index
spécifiée.
Accordion.getHeaderAt() Obtient une référence à un objet d’en-tête à une position
d’index spécifiée.
Classe Accordion 47
Méthodes héritées de la classe UIObject
Le tableau suivant énumère les méthodes de la classe Accordion héritées de la classe UIObject. Lors de l’appel à ces méthodes à partir de l’objet Accordion, utilisez le formulaire
accordionInstance.methodName.
Méthode Description
UIObject.createClassObject() Crée un objet dans la classe spécifiée.
UIObject.createObject() Crée un sous-objet dans un objet.
UIObject.destroyObject() Détruit une occurrence de composant.
UIObject.doLater() Appelle une fonction lorsque les paramètres ont été définis
dans les inspecteurs des propriétés et des composants.
UIObject.getStyle() Obtient la propriété de style de l’objet ou de la déclaration
de style.
UIObject.invalidate() Marque l’objet de sorte qu’il soit redessiné dans le prochain
intervalle d’image.
UIObject.move() Déplace l’objet jusqu’à l’emplacement demandé.
UIObject.redraw() Force la validation de l’objet pour qu’il soit dessiné dans
l’image actuelle.
UIObject.setSize() Redimensionne l’objet à la taille demandée.
UIObject.setSkin() Définit une enveloppe dans l’objet.
UIObject.setStyle() Définit la propriété de style sur l’objet ou la déclaration
de style.
Méthodes héritées de la classe UIComponent
Le tableau suivant énumère les méthodes de la classe Accordion héritées de la classe UIComponent. Lors de l’appel à ces méthodes à partir de l’objet Accordion, utilisez le formulaire
Méthode Description
UIComponent.getFocus() Renvoie une référence à l’objet ayant le focus.
UIComponent.setFocus() Définit le focus sur l’occurrence de composant.
48 Composant Accordion
accordionInstance.methodName.

Propriétés de la classe Accordion

Le tableau suivant présente les propriétés de la classe Accordion.
Propriété Description
Accordion.numChildren Nombre d’enfants d’une occurrence Accordion.
Accordion.selectedChild Référence à l’enfant sélectionné.
Accordion.selectedIndex Position d’index de l’enfant sélectionné.
Propriétés héritées de la classe UIObject
Le tableau suivant énumère les propriétés de la classe Accordion héritées de la classe UIObject. Lorsque vous accédez à ces propriétés, utilisez le formulaire
accordionInstance.propertyName.
Propriété Description
UIObject.bottom Lecture seule ; position du bord inférieur de l’objet par
rapport au bord inférieur de son parent.
UIObject.height Lecture seule ; hauteur de l’objet, en pixels.
UIObject.left Lecture seule ; bord gauche de l’objet, en pixels.
UIObject.right Lecture seule ; position du bord droit de l’objet par rapport au
bord droit de son parent.
UIObject.scaleX Nombre indiquant le facteur de redimensionnement dans la
direction x de l’objet par rapport à son parent.
UIObject.scaleY Nombre indiquant le facteur de redimensionnement dans la
direction y de l’objet par rapport à son parent.
UIObject.top Lecture seule ; renvoie la position du bord supérieur de
l’objet par rapport à son parent.
UIObject.visible Valeur booléenne indiquant si l’objet est visible (true) ou non
(
false).
UIObject.width Lecture seule ; largeur de l’objet, en pixels.
UIObject.x Lecture seule ; bord gauche de l’objet, en pixels.
UIObject.y Lecture seule ; bord supérieur de l’objet, en pixels.
Classe Accordion 49
Propriétés héritées de la classe UIComponent
Le tableau suivant énumère les propriétés de la classe Accordion héritées de la classe UIComponent. Lorsque vous accédez à ces propriétés, utilisez le formulaire
accordionInstance.propertyName.
Propriété Description
UIComponent.enabled Indique si le composant peut recevoir le focus et la saisie.
UIComponent.tabIndex Nombre indiquant l’ordre de tabulation pour un composant
dans un document.

Evénements de la classe Accordion

Le tableau suivant présente un événement de la classe Accordion.
Evénement Description
Accordion.change Diffusé à tous les écouteurs enregistrés lorsque les propriétés
selectedIndex et selectedChild d’un accordéon changent parce
que l’utilisateur a cliqué sur la souris ou appuyé sur une touche.
Evénements hérités de la classe UIObject
Le tableau suivant énumère les événements de la classe Accordion hérités de la classe UIObject.
Evénement Description
UIObject.draw Diffusé lorsqu’un objet est sur le point de dessiner ses
graphiques.
UIObject.hide Diffusé lorsqu’un objet passe de l’état visible à l’état invisible.
UIObject.load Diffusé lorsque des sous-objets sont créés.
UIObject.move Diffusé lorsque l’objet a été déplacé.
UIObject.resize Diffusé lorsqu’un objet a été redimensionné.
UIObject.reveal Diffusé lorsqu’un objet passe de l’état invisible à l’état visible.
UIObject.unload Diffusé lorsque les sous-objets sont purgés.
50 Composant Accordion
Evénements hérités de la classe UIComponent
Le tableau suivant énumère les événements de la classe Accordion hérités de la classe UIComponent.
Evénement Description
UIComponent.focusIn Diffusé lorsqu’un objet reçoit le focus.
UIComponent.focusOut Diffusé lorsqu’un objet perd le focus.
UIComponent.keyDown Diffusé lorsqu’une touche est enfoncée.
UIComponent.keyUp Diffusé lorsqu’une touche est relâchée.

Accordion.change

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Utilisation 1 :
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) {
// Insérer votre code ici. }; accordionInstance.addEventListener("change", listenerObject);
Utilisation 2 :
on (change) {
// Insérer votre code ici. }
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés lorsque les propriétés
selectedIndex et selectedChild d’un accordéon changent. Cet événement est diffusé
uniquement lorsqu’un clic de souris ou une pression sur une touche modifie la valeur
selectedChild ou selectedIndex (et non lorsque la valeur est modifiée par ActionScript).
Cet événement est diffusé avant l’animation de transition.
Accordion.change 51
Les composants utilisent un modèle dispatcher(diffuseur)/écouteur d’événement. Le composant Accordion distribue un événement
change en cas de clic sur l’un de ses
boutons, et l’événement est géré par une fonction (également appelée gestionnaire) sur un objet écouteur (
addEventListener() et lui transmettez une référence au gestionnaire en tant que paramètre.
listenerObject) que vous créez. Vous appelez la méthode
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (
eventObject) au gestionnaire. Chaque objet événement possède des propriétés qui
contiennent des informations sur l’événement. Vous pouvez utiliser ces propriétés dans le code qui traitera l’événement. Pour plus d’informations, voir « Classe EventDispatcher », à
la page 515.
L’événement change du composant Accordion contient également deux propriétés d’objet événement uniques :
newValue Nombre correspondant à l’index de l’enfant qui va être sélectionné.
prevValue Nombre correspondant à l’index de l’enfant sélectionné précédemment.
Exemple
L’exemple suivant utilise une occurrence Accordion appelée my_acc qui contient trois panneaux enfants intitulés « Adresse de livraison », « Adresse de facturation » et « Paiement ». Le code définit un gestionnaire appelé
my_acc.addEventListener() comme deuxième paramètre. L’objet événement est capturé
par le gestionnaire diffusé, une instruction
// Création d’un objet écouteur. var my_accListener:Object = new Object(); my_accListener.change = function() {
trace("Changed to different view");
// Affectation de l’étiquette du panneau enfant à la variable.
var selectedChild_str:String = my_acc.selectedChild.label;
// Exécution de l’action basée sur l’enfant sélectionné.
switch (selectedChild_str) {
case "Shipping Address":
trace("One was selected"); break;
case "Billing Address":
trace("Two was selected"); break;
case "Payment":
trace("Three was selected"); break;
} }; my_acc.addEventListener("change", my_accListener);
change du paramètre eventObject. Lorsque l’événement change est
trace est envoyée au panneau Sortie.
my_accListener et le transmet à la méthode
52 Composant Accordion

Accordion.createChild()

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
accordionInstance.createChild(classOrSymbolName, instanceName[,
initialProperties])
Paramètres
classOrSymbolName Soit la fonction constructeur de la classe de UIObject à instancier, soit
le nom de liaison (référence au symbole à instancier). La classe doit être UIObject ou une sous-classe de UIObject, mais le plus souvent, il s’agit d’un objet View ou d’une sous-classe de View.
instanceName Nom de la nouvelle occurrence. initialProperties Paramètre facultatif qui indique les propriétés initiales de la nouvelle
occurrence. Vous pouvez utiliser les propriétés suivantes :
label Chaîne qui spécifie l’étiquette de texte que la nouvelle occurrence de l’enfant
affiche sur son en-tête.
icon Chaîne qui spécifie l’identifiant de liaison du symbole de bibliothèque que l’enfant
utilise pour l’icône affichée sur son en-tête.
Valeur renvoyée
Une référence à une occurrence de UIObject qui est l’enfant venant d’être créé.
Description
Méthode (héritée de View) qui crée un enfant pour l’accordéon. L’enfant nouvellement créé est ajouté à la fin de la liste des enfants que possède l’accordéon. Utilisez cette méthode pour placer des affichages dans l’accordéon. L’enfant créé est une occurrence du symbole de clip ou de classe spécifié dans le paramètre utiliser les propriétés
label et icon pour désigner une étiquette de texte et une icône
destinées à l’en-tête d’accordéon associé dans le paramètre
classOrSymbolName. Pour chaque enfant, vous pouvez
initialProperties.
Lors de sa création, chaque enfant se voit attribuer un numéro d’index dans l’ordre de création, et la propriété
numChildren est incrémentée de 1.
Accordion.createChild() 53
Exemple
Commencez avec une occurrence Accordion sur la scène appelée my_acc. Ajoutez un symbole à la bibliothèque avec l’identifiant de liaison Le code suivant crée un enfant appelé
payIcon comme icône de l’en-tête enfant.
billing (avec l’étiquette « Payment ») qui est une
occurrence de la classe View :
var child_obj:Object = my_acc.createChild(mx.core.View, "billing", {label:
"Payment", icon: "payIcon"});
Le code suivant crée également un enfant qui est une occurrence de la classe View, mais il utilise
import pour référencer le constructeur de la classe View :
import mx.core.View; var child_obj:Object = my_acc.createChild(View, "billing", {label:
"Payment", icon: "payIcon"});
Vous pouvez également ajouter un symbole de clip à la bibliothèque avec l’identifiant de liaison
PaymentForm comme enfant du composant Accordion, et le code suivant crée une
occurrence de
PaymentForm appelée billing comme enfant de my_acc (cette approche est
utile lorsque vous chargez le contenu dynamique dans un symbole de clip, puis faites de ce symbole un enfant de l’occurrence Accordion) :
var child_obj:Object = my_acc.createChild("PaymentForm", "billing", {label:
"Payment", icon: "payIcon"});
Pour un exemple plus complexe, conservez l’occurrence Accordion my_acc sur la scène. Faites ensuite glisser un composant Label dans un composant TextInput depuis le panneau Composants vers la bibliothèque du document actuel (de façon à ce que la bibliothèque contienne à la fois un symbole TextInput et un symbole Label). Collez le code suivant dans la première image du scénario principal (en remplaçant ainsi le code des exemples précédents). Le code suivant crée un enfant qui est une occurrence de la classe View appelée ajoute également des enfants à
billing pour fournir des étiquettes et des champs de saisie de
billing et
texte pour un formulaire :
import mx.core.View; import mx.controls.Label; import mx.controls.TextInput; var child_obj:Object = my_acc.createChild(View, "billing",
{label:"Payment", icon: "payIcon"}); // Création d’étiquettes comme enfants de l’occurrence d’affichage. var cardType_label:Object = child_obj.createChild(Label, "CardType_label",
{_x:10, _y:50}); var cardNumber_label:Object = child_obj.createChild(Label,
"CardNumber_label", {_x:10, _y:100}); // Création de saisies de texte comme enfants de l’occurrence d’affichage. var cardTypeInput_ti:Object = child_obj.createChild(TextInput,
"CardType_ti", {_x:150, _y:50});
54 Composant Accordion
var cardNumberInput_ti:Object = child_obj.createChild(TextInput,
"CardNumber_ti", {_x:150, _y:100}); // Remplissage des étiquettes. cardType_label.text = "Card Type"; cardNumber_label.text = "Card Number";

Accordion.createSegment()

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
accordionInstance.createSegment(classOrSymbolName, instanceName[, label[,
icon]])
Paramètres
classOrSymbolName Soit une référence à la fonction constructeur de la classe de
UIObject à instancier, soit le nom de liaison du symbole à instancier. La classe doit être UIObject ou une sous-classe de UIObject, mais le plus souvent, il s’agit de View ou d’une sous-classe de View.
instanceName Nom de la nouvelle occurrence. label Cette chaîne spécifie l’étiquette de texte que la nouvelle occurrence de l’enfant affiche
sur son en-tête. Ce paramètre est facultatif.
icon Cette chaîne fait référence à l’identifiant de liaison du symbole de bibliothèque que
l’enfant utilise pour l’icône affichée sur son en-tête. Ce paramètre est facultatif.
Valeur renvoyée
Une référence à la nouvelle occurrence UIObject.
Description
Méthode qui crée un enfant pour l’accordéon. L’enfant nouvellement créé est ajouté à la fin de la liste des enfants que possède l’accordéon. Utilisez cette méthode pour placer des affichages dans l’accordéon. L’enfant créé est une occurrence du symbole de clip ou de classe spécifié dans le paramètre
classOrSymbolName. Vous pouvez utiliser les paramètres label et icon
pour spécifier une étiquette de texte ainsi qu’une icône pour l’en-tête de l’accordéon associé à chaque enfant.
Accordion.createSegment() 55
La méthode createSegment() diffère de la méthode createChild() dans la mesure où
label et icon sont transmis directement en tant que paramètres, et non en tant que
propriétés d’un paramètre
initalProperties.
Lors de sa création, chaque enfant se voit attribuer un numéro d’index dans l’ordre de création, et la propriété
Exemple
numChildren est incrémentée de 1.
Commencez avec une occurrence Accordion sur la scène appelée my_acc. Ajoutez un symbole de clip à la bibliothèque avec l’identifiant de liaison
PaymentForm comme enfant du
composant Accordion. Ajoutez ensuite un symbole à la bibliothèque avec l’identifiant de liaison
payIcon comme icône de l’en-tête enfant. L’exemple suivant crée une occurrence du
symbole de clip
PaymentForm appelée billing comme dernier enfant de my_acc avec
l’étiquette d’en-tête « Payment » dans la bibliothèque :
var child_obj:Object = my_acc.createSegment("PaymentForm", "billing",
"Payment", "payIcon");
Le code suivant crée un enfant qui est une occurrence de la classe View :
var child_obj:Object = my_acc.createSegment(mx.core.View, "billing",
"Payment", "payIcon");
Le code suivant crée également un enfant qui est une occurrence de la classe View, mais il utilise
import pour référencer le constructeur de la classe View :
import mx.core.View; var child_obj:Object = my_acc.createSegment(View, "billing", "Payment",
"payIcon");
Faites glisser un composant Label et un composant TextInput du panneau Composants vers la bibliothèque du document en cours (afin que la bibliothèque contienne à la fois un symbole TextInput et un symbole Label). Le code suivant crée un enfant qui est une occurrence de la classe View appelée
billing et ajoute également des enfants à billing pour fournir des
étiquettes et des champs de saisie de texte pour un formulaire :
import mx.core.View; import mx.controls.Label; import mx.controls.TextInput; var child_obj:Object = my_acc.createSegment(View, "billing", "Payment",
"payIcon"); // Création d’étiquettes comme enfants de l’occurrence d’affichage. var cardType_label:Object = child_obj.createChild(Label, "CardType_label",
{_x:10, _y:50}); var cardNumber_label:Object = child_obj.createChild(Label,
"CardNumber_label", {_x:10, _y:100}); // Création de saisies de texte comme enfants de l’occurrence d’affichage. var cardTypeInput_ti:Object = child_obj.createChild(TextInput,
"CardType_ti", {_x:150, _y:50});
56 Composant Accordion
var cardNumberInput_ti:Object = child_obj.createChild(TextInput,
"CardNumber_ti", {_x:150, _y:100}); // Remplissage des étiquettes. cardType_label.text = "Card Type"; cardNumber_label.text = "Card Number";

Accordion.destroyChildAt()

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
accordionInstance.destroyChildAt(index)
Paramètres
index Numéro d’index de l’enfant de l’accordéon à détruire. Un numéro d’index basé sur
zéro est affecté à chaque enfant d’un accordéon, en fonction de l’ordre de sa création.
Valeur renvoyée
Aucune.
Description
Méthode (héritée de View) ; détruit l’un des enfants de l’accordéon. L’enfant à détruire est spécifié par son index, lequel est transmis à la méthode dans le paramètre cette méthode détruit également l’en-tête correspondant.
Si l’enfant détruit est sélectionné, un nouvel enfant sélectionné est choisi. S’il existe un enfant suivant, il est sélectionné. S’il n’existe aucun enfant suivant, l’enfant précédent est sélectionné. S’il n’existe aucun enfant précédent, la sélection est « undefined ».
REMARQUE
L’appel à la méthode destroyChildAt() décrémente la propriété numChildren de 1.
index. L’appel de
Accordion.destroyChildAt() 57
Exemple
Le code suivant détruit le premier enfant de my_acc lorsque le troisième enfant est sélectionné :
import mx.core.View;
// Création de panneaux enfants avec des occurrences de la classe View. my_acc.createSegment(View, "myMainItem1", "Menu Item 1"); my_acc.createSegment(View, "myMainItem2", "Menu Item 2"); my_acc.createSegment(View, "myMainItem3", "Menu Item 3");
// Création d’un objet écouteur. my_accListener = new Object(); my_accListener.change = function() { if ("myMainItem3"){ my_acc.destroyChildAt(0); } };
my_acc.addEventListener("change", my_accListener);
Voir aussi
Accordion.createChild()

Accordion.getChildAt()

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
accordionInstance.getChildAt(index)
Paramètres
index Numéro d’index d’un enfant d’accordéon. Un numéro d’index basé sur zéro est
affecté à chaque enfant d’un accordéon, en fonction de l’ordre de sa création.
Valeur renvoyée
Référence à l’occurrence UIObject à l’emplacement d’index spécifié.
58 Composant Accordion
Description
Méthode qui renvoie une référence à l’enfant à l’emplacement d’index spécifié. Un numéro d’index est attribué à chaque enfant de l’accordéon pour son emplacement. Ce numéro d’index est basé sur zéro : le premier enfant est 0, le second enfant est 1, et ainsi de suite.
Exemple
Le code suivant obtient une référence au dernier enfant de my_acc et change l’étiquette pour «Last Child»:
import mx.core.View;
// Création de panneaux enfants avec des occurrences de la classe View. my_acc.createSegment(View, "myMainItem1", "Menu Item 1"); my_acc.createSegment(View, "myMainItem2", "Menu Item 2"); my_acc.createSegment(View, "myMainItem3", "Menu Item 3");
// Obtention de la référence pour le dernier objet enfant. var lastChild_obj:Object = my_acc.getChildAt(my_acc.numChildren - 1); // Changement de l’étiquette de l’objet. lastChild_obj.label = "Last Child";

Accordion.getHeaderAt()

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
accordionInstance.getHeaderAt(index)
Paramètres
index Numéro d’index d’un en-tête d’accordéon. Un numéro d’index basé sur zéro est
affecté à chaque en-tête d’un accordéon, en fonction de l’ordre de sa création.
Valeur renvoyée
Référence à l’occurrence UIObject à l’emplacement d’index spécifié.
Description
Méthode ; renvoie une référence à l’en-tête à l’emplacement d’index spécifié. Un numéro d’index est attribué à chaque en-tête de l’accordéon pour son emplacement. Ce numéro d’index est basé sur zéro : le premier en-tête est 0, le deuxième en-tête est 1, et ainsi de suite.
Accordion.getHeaderAt() 59
Exemple
Le code suivant obtient une référence au dernier en-tête de my_acc et affiche l’étiquette dans le panneau Sortie :
import mx.core.View;
// Création de panneaux enfants pour chaque formulaire à afficher // dans l’objet my_acc. my_acc.createChild(View, "shippingAddress", {label: "Shipping Address"}); my_acc.createChild(View, "billingAddress", {label: "Billing Address"}); my_acc.createChild(View, "payment", {label: "Payment"});
var head3:Object = my_acc.getHeaderAt(2); trace(head3.label);

Accordion.numChildren

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
accordionInstance.numChildren
Description
La propriété (héritée de View) indique le nombre d’enfants (de type UIObject) présents dans une occurrence Accordion. Les en-têtes ne sont pas comptés comme enfants.
Un numéro d’index est attribué à chaque enfant de l’accordéon pour son emplacement. Ce numéro d’index est basé sur zéro : le premier enfant est 0, le second enfant est 1, et ainsi de suite. Le code
my_acc.numChild - 1 fait toujours référence au dernier enfant ajouté à un
accordéon. Par exemple, s’il existe sept enfants dans un accordéon, le dernier a l’index 6. La propriété
numChildren n’étant pas basée sur zéro, la valeur de my_acc.numChildren est 7.
Le résultat de 7 - 1 est 6, le numéro d’index du dernier enfant.
60 Composant Accordion
Exemple
Le code suivant utilise numChildren pour obtenir une référence au dernier enfant de my_acc et change l’étiquette sur « Last Child » :
import mx.core.View;
// Création de panneaux enfants avec des occurrences de la classe View. my_acc.createSegment(View, "myMainItem1", "Menu Item 1"); my_acc.createSegment(View, "myMainItem2", "Menu Item 2"); my_acc.createSegment(View, "myMainItem3", "Menu Item 3");
// Obtention de la référence pour le dernier objet enfant. var lastChild_obj:Object = my_acc.getChildAt(my_acc.numChildren - 1); // Changement de l’étiquette de l’objet. lastChild_obj.label = "Last Child";

Accordion.selectedChild

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
accordionInstance.selectedChild
Description
Propriété : enfant sélectionné (de type UIObject) s’il existe un ou plusieurs enfants ;
undefined s’il n’en existe aucun.
Si l’accordéon a des enfants, le code code
accordionInstance.getChildAt(accordionInstance.selectedIndex).
accordionInstance.selectedChild est équivalent au
Lorsque vous définissez cette propriété pour un enfant, l’accordéon commence l’animation de transition pour afficher l’enfant désigné.
La modification de la valeur de
selectedIndex.
Si l’accordéon a des enfants, la valeur par défaut est S’il n’en a pas, la valeur par défaut est
selectedChild change également la valeur de
accordionInstance.getChildAt(0).
undefined.
Accordion.selectedChild 61
Exemple
L’exemple suivant détecte lorsqu’un enfant est sélectionné et affiche l’ordre de l’enfant dans le panneau Sortie chaque fois qu’un en-tête est sélectionné :
// Création d’un objet écouteur. var my_accListener:Object = new Object(); my_accListener.change = function() {
trace("Changed to different view");
// Affectation de l’étiquette du panneau enfant à la variable.
var selectedChild_str:String = my_acc.selectedChild.label;
// Exécution de l’action basée sur l’enfant sélectionné.
switch (selectedChild_str) {
case "Shipping Address":
trace("One was selected"); break;
case "Billing Address":
trace("Two was selected"); break;
case "Payment":
trace("Three was selected"); break;
} }; my_acc.addEventListener("change", my_accListener);
Voir aussi

Accordion.selectedIndex

Accordion.selectedIndex
Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
accordionInstance.selectedIndex
62 Composant Accordion
Description
Propriété : index basé sur zéro de l’enfant sélectionné dans un accordéon comportant un ou plusieurs enfants. Dans le cas d’un accordéon n’ayant aucun affichage enfant, la seule valeur valide est
undefined.
Un numéro d’index est attribué à chaque enfant de l’accordéon pour son emplacement. Ce numéro d’index est basé sur zéro : le premier enfant est 0, le second enfant est 1, et ainsi de suite. Les valeurs valides de
selectedIndex sont 0, 1, 2, etc., n - 1, où n correspond au
nombre d’enfants. Lorsque vous définissez cette propriété sur un enfant, l’accordéon commence l’animation de
transition pour afficher l’enfant désigné. La modification de la valeur de
selectedChild.
Exemple
selectedIndex change également la valeur de
L’exemple suivant détecte lorsqu’un enfant est sélectionné et affiche l’ordre attribué à l’enfant dans le panneau Sortie chaque fois qu’un en-tête est sélectionné :
// Création d’un objet Listener (écouteur). var my_accListener:Object = new Object(); my_accListener.change = function() {
trace("Changed to different view");
// Affectation de l’étiquette du panneau enfant à la variable.
var selectedChild_num:Number = my_acc.selectedIndex;
// Exécution de l’action basée sur l’enfant sélectionné.
switch (selectedChild_num) {
case 0:
trace("One was selected"); break;
case 1:
trace("Two was selected"); break;
case 2:
trace("Three was selected"); break;
} }; my_acc.addEventListener("change", my_accListener);
Voir aussi
Accordion.numChildren, Accordion.selectedChild
Accordion.selectedIndex 63
64 Composant Accordion
CHAPITRE 3

Composant Alert

Le composant Alert vous permet d’ouvrir une fenêtre qui présente à l’utilisateur un message et des boutons de réponse. Cette fenêtre comprend une barre de titre dans laquelle vous pouvez insérer du texte, un message personnalisable et des boutons dont les étiquettes peuvent être modifiées. Une fenêtre Alert peut combiner librement les boutons Oui, Non, OK et Annuler, et les propriétés vous permettent de modifier leurs étiquettes. Dans une fenêtre Alert, vous ne pouvez cependant pas modifier l’ordre des boutons qui est toujours OK, Oui, Non, Annuler. Dès que l’utilisateur clique sur l’un de ces boutons, la fenêtre Alert se ferme.
REMARQUE
Le composant Alert est pris en charge uniquement si vous travaillez dans un document spécifiant ActionScript 2.0 dans ses paramètres de publication.
Alert.okLabel, Alert.yesLabel, Alert.noLabel et Alert.cancelLabel
3
Pour afficher une fenêtre Alert, appelez la méthode que si le composant Alert figure déjà dans la bibliothèque. Pour ajouter le composant Alert à la bibliothèque sans qu’il soit visible dans le document, faites-le glisser du panneau Composants vers la scène, puis supprimez-le.
L’aperçu en direct du composant Alert est une fenêtre vide. Lorsque vous ajoutez le composant Alert à une application, utilisez le panneau Accessibilité
pour rendre son texte et ses boutons accessibles aux logiciels de lecture d’écran. Commencez par ajouter la ligne de code suivante pour activer l’accessibilité :
mx.accessibility.AlertAccImpl.enableAccessibility();
CONSEIL
Quel que soit le nombre d’occurrences du composant, l’activation de son accessibilité ne se fait qu’une fois.
Alert.show(). Cet appel ne fonctionne
65

Utilisation du composant Alert

Vous pouvez utiliser un composant Alert chaque fois que vous voulez annoncer quelque chose à l’utilisateur. Par exemple, vous pouvez faire apparaître une alerte lorsqu’un utilisateur ne remplit pas un formulaire correctement, lorsqu’une action atteint une certaine valeur ou lorsqu’un utilisateur quitte une application sans enregistrer sa session.

Paramètres du composant Alert

Le composant Alert n’a pas de paramètres de programmation. Pour afficher une fenêtre Alert, vous devez appeler la méthode propriétés ActionScript pour modifier la fenêtre Alert dans une application. Pour plus d’informations, voir « Classe Alert », à la page 71.

Création d’une application avec le composant Alert

La procédure suivante décrit l’ajout d’un composant Alert à une application lors de la programmation. Dans cet exemple, le composant Alert apparaît lorsqu’une action atteint une certaine valeur sur le marché boursier.
Pour créer une application avec le composant Alert :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier Flash (ActionScript 2.0).
2. Faites glisser le composant Alert du panneau Composants jusqu’à la bibliothèque du
document actuel. Cette opération permet d’ajouter le composant à la bibliothèque, mais elle ne permet pas
de le rendre visible dans l’application.
3. Dans le panneau Actions, entrez le code suivant dans l’image 1 du scénario pour définir un
gestionnaire d’événements pour l’événement
import mx.controls.Alert;
Alert.show() d’ActionScript. Vous pouvez utiliser d’autres
click :
// Définition de l’action après la confirmation de l’alerte. var myClickHandler:Function = function (evt_obj:Object) { if (evt_obj.detail == Alert.OK) { trace("start stock app"); } };
// Affichage de la boîte de dialogue Alerte. Alert.show("Launch Stock Application?", "Stock Price Alert", Alert.OK |
Alert.CANCEL, this, myClickHandler, "stockIcon", Alert.OK);
66 Composant Alert
Ce code crée une fenêtre Alert incluant les boutons OK et Annuler. Lorsque l’utilisateur clique sur l’un des boutons, Flash appelle la fonction
myClickHandler. Cette fonction
indique à Flash de tracer « start stock app » lorsque vous cliquez sur le bouton OK.
REMARQUE
La méthode Alert.show() inclut un paramètre facultatif qui affiche une icône dans la fenêtre Alert (dans cet exemple, une icône avec l’identifiant de liaison « stockIcon »). Pour inclure cette icône dans votre exemple de test, créez un symbole nommé stockIcon et activez l’option Exporter pour ActionScript de la boîte de dialogue Propriétés de liaison ou Créer un symbole. Les graphiques du symbole stockIcon doivent être alignés sur les coordonnées (0,0) dans le système de coordonnées du symbole.
4. Choisissez Contrôle > Tester l’animation.

Personnalisation du composant Alert

Le composant Alert se positionne automatiquement au centre du composant transmis comme paramètre pouvez l’enregistrer sous mx.core.View afin qu’il hérite de UIComponent.
La fenêtre Alert s’étend horizontalement pour pouvoir contenir le texte du message ou les boutons qui s’affichent. Si vous voulez afficher une grande quantité de texte, incluez des sauts de ligne.
Le composant Alert ne répond pas à la méthode
parent. Le parent doit être un objet UIComponent. S’il s’agit d’un clip, vous
setSize().

Utilisation de styles avec le composant Alert

Vous pouvez définir des propriétés de style pour modifier l’aspect d’un composant Alert. Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de couleur qui se comporte différemment des autres propriétés de style. Pour plus d’informations, consultez « Utilisation de styles pour personnaliser la couleur et le texte des composants » dans Utilisation des composants ActionScript 2.0.
Un composant Alert gère les styles suivants :
Style Thème Description
themeColor
backgroundColor
Halo Couleur de base d’un composant. "haloGreen",
"haloBlue" et "haloOrange" sont des valeurs possibles.
La valeur par défaut est
Les deux Couleur d’arrière-plan. Le blanc est la couleur par défaut
pour le thème Halo et 0xEFEBEF (gris clair) pour le thème Sample.
"haloGreen".
Personnalisation du composant Alert 67
Style Thème Description
borderStyle
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textAlign
textDecoration
textIndent
Les deux Le composant Alert utilise une occurrence RectBorder
en tant que bordure et répond aux styles définis pour cette classe. Pour plus d’informations, voir «Classe
RectBorder », à la page 1111.
Le composant Alert présente un paramètre propre au composant,
"outset" avec le thème Sample.
Les deux Couleur du texte. La valeur par défaut est 0x0B333C
pour le thème Halo et vide pour le thème Sample.
Les deux Couleur du texte lorsque le composant est désactivé.
La couleur par défaut est 0x848384 (gris foncé).
Les deux Valeur booléenne qui indique si la police spécifiée dans
fontFamily est de type intégré. Ce style doit être défini
true si fontFamily fait référence à une police
sur intégrée. Dans le cas contraire, la police intégrée n’est pas utilisée. Si ce style est défini sur
fontFamily ne fait pas référence à une police intégrée,
aucun texte n’est affiché. La valeur par défaut est
Les deux Nom de la police du texte. La valeur par défaut est
"_sans".
Les deux Taille, en points, de la police. La valeur par défaut est 10.
Les deux Style de police : "normal" ou "italic". La valeur par
défaut est
"normal".
Les deux Epaisseur de la police : "none" ou "bold". La valeur par
défaut est
"none". Tous les composants peuvent
également accepter la valeur pendant un appel à la méthode appels suivants à
Les deux Alignement du texte : "left", "right" ou "center".
La valeur par défaut est
Les deux Décoration du texte : "none" ou "underline". La valeur
par défaut est
Les deux Nombre indiquant le retrait du texte. La valeur par défaut
est 0.
borderStyle
"alert" avec le thème Halo et
true et que
false.
"normal" au lieu de "none"
setStyle(), mais les
getStyle() renvoient "none".
"left".
"none".
68 Composant Alert
Le composant Alert inclut trois catégories de texte différentes. La configuration des propriétés de texte du composant Alert lui-même fournit les valeurs par défaut des trois catégories, comme dans l’exemple ci-dessous :
import mx.controls.Alert; _global.styles.Alert.setStyle("color", 0x000099); Alert.show("This is a test alert", "Title");
Pour définir les styles de texte d’une seule catégorie, le composant Alert fournit des propriétés statiques correspondant à des références à une occurrence de CSSStyleDeclaration.
Propriété statique Texte affecté
buttonStyleDeclaration
messageStyleDeclaration
titleStyleDeclaration
Bouton
Message
Titre
L’exemple suivant montre comment mettre le titre d’un composant Alert en italique :
import mx.controls.Alert; import mx.styles.CSSStyleDeclaration;
var titleStyles = new CSSStyleDeclaration(); titleStyles.setStyle("fontWeight", "bold"); titleStyles.setStyle("fontStyle", "italic");
Alert.titleStyleDeclaration = titleStyles;
Alert.show("Name is a required field", "Validation Error");
Les déclarations par défaut du style de titre définissent fontWeight sur « bold ». Si vous remplacez la propriété Vous devez donc explicitement définir
REMARQUE
Les styles de texte définis pour un composant Alert fournissent des styles par défaut à ses composants par héritage. Pour plus d’informations, reportez-vous à « Définition de styles hérités sur un conteneur » dans Utilisation des composants ActionScript 2.0.
titleStyleDeclaration, cette valeur par défaut l’est également.
fontWeight sur « bold » si vous le souhaitez.
Personnalisation du composant Alert 69

Utilisation d’enveloppes avec le composant Alert

Le composant Alert étend le composant Window et utilise l’enveloppe d’arrière-plan du titre comme arrière-plan de titre, une occurrence de classe RectBorder pour sa bordure et des enveloppes Button pour les états visuels de ses boutons. Pour appliquer des enveloppes aux boutons et à la barre de titres lors de la programmation, modifiez les symboles Flash UI Components 2/Themes/MMDefault/Window Assets/Elements/TitleBackground et Flash UI Components 2/Themes/MMDefault/Button Assets/ButtonSkin. Pour plus d’informations, consultez « A propos de l’application d’enveloppes aux composants » dans Utilisation des composants ActionScript 2.0. La bordure et l’arrière-plan sont fournis par la classe RectBorder par défaut. Pour plus d’informations sur l’application d’enveloppes à la classe RectBorder, reportez-vous à « Classe RectBorder », à la page 1111.
Un composant Alert utilise les propriétés d’enveloppe suivantes pour appliquer une enveloppe dynamiquement aux boutons et à la barre de titre :
Propriété Description Valeur par défaut
buttonUp
buttonUpEmphasized
buttonDown
buttonDownEmphasized
buttonOver
buttonOverEmphasized
titleBackground
Etat relevé des boutons.
Etat relevé du bouton par défaut.
Etat enfoncé des boutons.
Etat enfoncé du bouton par défaut.
Etat survolé des boutons.
Etat survolé du bouton par défaut.
Barre de titre de la fenêtre.
ButtonSkin
ButtonSkin
ButtonSkin
ButtonSkin
ButtonSkin
ButtonSkin
TitleBackground
Pour définir le titre d’un composant Alert sur un symbole de clip personnalisé :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier Flash (ActionScript 2.0).
2. Créez un nouveau symbole en choisissant Insertion > Nouveau symbole.
3. Nommez-le TitleBackground.
4. Si l’écran avancé n’est pas affiché, cliquez sur le bouton Avancé.
5. Sélectionnez Exporter pour ActionScript.
L’identifiant est automatiquement renseigné avec
6. Définissez la valeur de la classe sur mx.skins.SkinElement.
TitleBackground.
SkinElement est une classe simple qui peut être utilisée pour tous les éléments d’enveloppe qui n’assurent pas leur propre implémentation dans ActionScript. Elle apporte les fonctionnalités de mouvement et de dimensionnement requises par les composants.
70 Composant Alert
7. Assurez-vous que l’option Exporter dans la première image est bien activée, puis
cliquez sur OK.
8. Ouvrez le nouveau symbole pour l’édition.
9. Servez-vous des outils de dessin pour créer une case rouge entourée d’une ligne noire.
10. Définissez le style de bordure sur Filet.
11. Définissez la case, et sa bordure, de sorte qu’elle soit positionnée au point (0,0), avec une
largeur de 100 et une hauteur de 22. Le composant Alert définit alors la largeur appropriée pour l’enveloppe, mais utilise la
hauteur existante pour le titre.
12. Cliquez sur le bouton Précédent pour revenir au scénario principal.
13. Faites glisser un composant Alert sur la scène, puis supprimez-le.
Le composant Alert est ajouté à la bibliothèque, ce qui le rend disponible lors de l’exécution.
14. Pour créer un exemple d’occurrence Alert, ajoutez du code ActionScript au scénario
principal.
import mx.controls.Alert; Alert.show("This is a skinned Alert component","Title");
15.
Choisissez Contrôle> Tester l’animation.

Classe Alert

Héritage MovieClip > Classe UIObject > Classe UIComponent > View > ScrollView >
Composant Window > Alert
Nom de classe ActionScript mx.controls.Alert
Pour utiliser le composant Alert, vous devez faire glisser un composant Alert sur la scène, puis le supprimer afin qu’il soit présent dans la bibliothèque de documents sans apparaître dans l’application. Vous devez ensuite appeler Vous pouvez transmettre des paramètres à
Alert.show() pour afficher une fenêtre Alert.
Alert.show() pour ajouter un message, une barre
de titre et des boutons dans la fenêtre Alert.
Classe Alert 71
Dans la mesure où ActionScript est asynchrone, le composant Alert n’effectue pas de blocage, c’est-à-dire que les lignes de code ActionScript qui suivent l’appel à aussitôt exécutées. Vous devez ajouter des écouteurs pour gérer les événements
Alert.show() sont
click diffusés
lorsque l’utilisateur clique sur un bouton, puis continuer votre code après la diffusion de l’événement.
REMARQUE
Dans des environnements d’exploitation qui opèrent un blocage (par exemple, Microsoft Windows), un appel à effectué une action, par exemple cliqué sur un bouton.
Alert.show() ne renvoie rien tant que l’utilisateur n’a pas
Pour plus d’informations sur la classe Alert, reportez-vous à «Composant Window», à
la page 1519 et à « Classe PopUpManager », à la page 1029.

Récapitulatif des méthodes de la classe Alert

Le tableau suivant présente la méthode de la classe Alert.
Méthode Description
Alert.show() Crée une fenêtre Alert avec des paramètres facultatifs.
Méthodes héritées de la classe UIObject
Le tableau suivant énumère les méthodes de la classe Alert héritées de la classe UIObject.
Méthode Description
UIObject.createClassObject() Crée un objet dans la classe spécifiée.
UIObject.createObject() Crée un sous-objet dans un objet.
UIObject.destroyObject() Détruit une occurrence de composant.
UIObject.doLater() Appelle une fonction lorsque des paramètres ont été définis
dans les inspecteurs des propriétés et des composants.
UIObject.getStyle() Obtient la propriété de style de l’objet ou de la déclaration
de style.
UIObject.invalidate() Marque l’objet de sorte qu’il soit redessiné dans le prochain
intervalle d’image.
UIObject.move() Déplace l’objet jusqu’à l’emplacement demandé.
UIObject.redraw() Force la validation de l’objet pour qu’il soit dessiné dans
l’image actuelle.
72 Composant Alert
Méthode Description
UIObject.setSkin() Définit une enveloppe dans l’objet.
UIObject.setStyle() Définit la propriété de style sur l’objet ou la déclaration
de style.
Méthodes héritées de la classe UIComponent
Le tableau suivant énumère les méthodes de la classe Alert héritées de la classe UIComponent.
Méthode Description
UIComponent.getFocus() Renvoie une référence à l’objet ayant le focus.
UIComponent.setFocus() Attribue le focus à l’occurrence de composant.
Méthodes héritées de la classe Window
Le tableau suivant énumère les méthodes de la classe Alert héritées de la classe Window.
Méthode Description
Window.deletePopUp() Supprime une occurrence de fenêtre créée par
PopUpManager.createPopUp().

Récapitulatif des propriétés de la classe Alert

Le tableau suivant présente les propriétés de la classe Alert.
Propriété Description
Alert.buttonHeight Hauteur de chaque bouton, en pixels. La valeur par
défaut est 22.
Alert.buttonWidth Largeur de chaque bouton, en pixels. La valeur par
défaut est 100.
Alert.CANCEL Constante hexadécimale qui indique si la fenêtre Alert
doit contenir un bouton Annuler.
Alert.cancelLabel Texte d’étiquette du bouton Annuler.
Alert.NO Constante hexadécimale qui indique si la fenêtre Alert
doit contenir un bouton Non.
Alert.noLabel Texte d’étiquette du bouton Non.
Alert.OK Constante hexadécimale qui indique si la fenêtre Alert
doit contenir un bouton OK.
Classe Alert 73
Propriété Description
Alert.okLabel Texte d’étiquette du bouton OK.
Alert.YES Constante hexadécimale qui indique si la fenêtre Alert
doit contenir un bouton Oui.
Alert.yesLabel Texte d’étiquette du bouton Oui.
Propriétés héritées de la classe UIObject
Le tableau suivant énumère les propriétés de la classe Alert héritées de la classe UIObject. Pour appeler ces propriétés à partir de l’objet Alert, utilisez le formulaire
Propriété Description
UIObject.bottom Lecture seule. Position du bord inférieur de l’objet par rapport
au bord inférieur de son parent.
UIObject.height Lecture seule ; hauteur de l’objet, en pixels.
UIObject.left Lecture seule ; bord gauche de l’objet, en pixels.
UIObject.right Lecture seule ; position du bord droit de l’objet par rapport au
bord droit de son parent.
UIObject.scaleX Nombre indiquant le facteur de redimensionnement dans la
direction x de l’objet par rapport à son parent.
UIObject.scaleY Nombre indiquant le facteur de redimensionnement dans la
direction y de l’objet par rapport à son parent.
UIObject.top Lecture seule ; renvoie la position du bord supérieur de l’objet
par rapport à son parent.
UIObject.visible Valeur booléenne indiquant si l’objet est visible (true) ou non
(
false).
UIObject.width Lecture seule ; largeur de l’objet, en pixels.
UIObject.x Lecture seule ; bord gauche de l’objet, en pixels.
UIObject.y Lecture seule ; bord supérieur de l’objet, en pixels.
Alert.propertyName.
74 Composant Alert
Propriétés héritées de la classe UIComponent
Le tableau suivant énumère les propriétés de la classe Alert héritées de la classe UIComponent. Pour appeler ces propriétés à partir de l’objet Alert, utilisez le formulaire
Alert.propertyName.
Propriété Description
UIComponent.enabled Indique si le composant peut recevoir le focus et la saisie.
UIComponent.tabIndex Nombre indiquant l’ordre de tabulation pour un composant
dans un document.
Propriétés héritées de la classe Window
Le tableau suivant énumère les propriétés de la classe Alert héritées de la classe Window.
Propriété Description
Window.closeButton Indique si la barre de titre comprend un bouton Fermer
true) ou non (false).
(
Window.content Référence au contenu (clip racine) de la fenêtre.
Window.contentPath Définit le nom du contenu à afficher dans la fenêtre.
Window.title Texte qui apparaît dans la barre de titre.
Window.titleStyleDeclaration Déclaration de style qui formate le texte dans la barre
de titre.

Récapitulatif des événements de la classe Alert

Le tableau suivant présente un événement de la classe Alert.
Evénement Description
Alert.click Diffusé lorsque l’utilisateur clique sur un bouton dans
une fenêtre Alert.
Classe Alert 75
Evénements hérités de la classe UIObject
Le tableau suivant énumère les événements de la classe Alert hérités de la classe UIObject. Pour appeler ces événements à partir de l’objet Alert, utilisez le formulaire
Evénement Description
UIObject.draw Diffusé lorsqu’un objet est sur le point de dessiner ses
graphiques.
UIObject.hide Diffusé lorsqu’un objet passe de l’état visible à l’état invisible.
UIObject.load Diffusé lorsque des sous-objets sont créés.
UIObject.move Diffusé lorsque l’objet a été déplacé.
UIObject.resize Diffusé lorsqu’un objet a été redimensionné.
UIObject.reveal Diffusé lorsqu’un objet passe de l’état invisible à l’état visible.
UIObject.unload Diffusé lorsque les sous-objets sont purgés.
Alert.eventName.
Evénements hérités de la classe UIComponent
Le tableau suivant énumère les événements de la classe Alert hérités de la classe UIComponent. Pour appeler ces événements à partir de l’objet Alert, utilisez le formulaire
Alert.eventName.
Evénement Description
UIComponent.focusIn Diffusé lorsqu’un objet reçoit le focus.
UIComponent.focusOut Diffusé lorsqu’un objet perd le focus.
UIComponent.keyDown Diffusé lorsqu’une touche est enfoncée.
UIComponent.keyUp Diffusé lorsqu’une touche est relâchée.
Evénements hérités de la classe Window
Le tableau suivant énumère les événements de la classe Alert hérités de la classe Window.
Evénement Description
Window.click Diffusé lorsque le bouton de fermeture est relâché.
Window.complete Diffusé à la création d’une fenêtre.
76 Composant Alert

Alert.buttonHeight

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.buttonHeight
Description
Propriété (classe) : propriété de classe (statique) qui modifie la hauteur des boutons. La valeur par défaut est 22.
Exemple
Lorsque la bibliothèque contient déjà un composant Alert, cet exemple redimensionne les boutons :
import mx.controls.Alert;
// Réglage des tailles de bouton. Alert.buttonHeight = 50; Alert.buttonWidth = 150;
// Affichage de la boîte de dialogue Alerte. Alert.show("Launch Stock Application?", "Stock Price Alert", Alert.OK |
Alert.CANCEL);
Voir aussi

Alert.buttonWidth

Alert.buttonWidth
Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.buttonWidth
Alert.buttonWidth 77
Description
Propriété (classe) : propriété de classe (statique) qui modifie la largeur des boutons. La valeur par défaut est 100.
Exemple
Si la bibliothèque contient déjà un composant Alert, ajoutez ce code ActionScript à la première image du scénario principal pour redimensionner les boutons :
import mx.controls.Alert;
// Réglage des tailles de bouton. Alert.buttonHeight = 50; Alert.buttonWidth = 150;
// Affichage de la boîte de dialogue Alerte. Alert.show("Launch Stock Application?", "Stock Price Alert", Alert.OK |
Alert.CANCEL);
Voir aussi
Alert.buttonHeight

Alert.CANCEL

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.CANCEL
Description
Propriété (constante) : propriété dont la valeur hexadécimale est 0x8. Cette propriété peut être utilisée pour le paramètre comme valeur du paramètre fenêtre Alert. Si elle est utilisée comme valeur du paramètre
flags ou defaultButton de la méthode Alert.show(). Utilisée
flags, elle indique qu’un bouton Annuler doit apparaître dans la
defaultButton, le bouton
Annuler a le focus initial et est déclenché lorsque l’utilisateur appuie sur Entrée (Windows) ou sur Retour (Macintosh). Si l’utilisateur passe à un autre bouton, ce dernier est déclenché lorsque l’utilisateur appuie sur Entrée.
78 Composant Alert
Exemple
L’exemple suivant utilise Alert.CANCEL et Alert.OK comme valeurs du paramètre flags et affiche un composant Alert comportant un bouton OK et un bouton Annuler :
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.OK |
Alert.CANCEL, this);

Alert.cancelLabel

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.cancelLabel
Description
Propriété (classe) : propriété de classe (statique) qui indique l’étiquette de texte du bouton Annuler.
Exemple
L’exemple suivant définit l’étiquette du bouton Annuler sur « annulation » :
Alert.cancelLabel = "cancellation";

Alert.click

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
var clickHandler:Function = function(eventObject:Object) {
// Insertion du code ici.
} Alert.show(message[, title[, flags[, parent[, clickHandler[, icon[,
defaultButton]]]]]])
Alert.click 79
Description
Evénement : diffusé à l’écouteur enregistré lorsque l’utilisateur clique sur le bouton OK, Oui, Non ou Annuler.
Les composants utilisent un modèle dispatcher(diffuseur)/écouteur d’événement. Le composant Alert distribue un événement
click si vous cliquez sur l’un de ses boutons, et
l’événement est géré par une fonction (également appelée gestionnaire) sur un objet écouteur (
listenerObject) que vous créez. Vous appelez la méthode Alert.show() et lui transmettez
le nom du gestionnaire en tant que paramètre. Lorsque l’utilisateur clique sur un bouton de la fenêtre Alert, l’écouteur est appelé.
Lorsque l’événement survient, il transmet automatiquement un objet événement (
eventObject) au gestionnaire. Chaque objet événement a des propriétés qui contiennent des
informations sur l’événement. Vous pouvez utiliser ces propriétés dans le code qui traitera l’événement. L’objet événement dont la valeur est
Alert.OK, Alert.CANCEL, Alert.YES ou Alert.NO en fonction du bouton
Alert.click possède une propriété detail supplémentaire
sur lequel vous cliquez. Pour plus d’informations, voir « Classe EventDispatcher », à
la page 515.
Exemple
Lorsque la bibliothèque contient déjà un composant Alert, ajoutez ce code ActionScript à la première image du scénario principal pour créer un gestionnaire d’événements appelé
myClickHandler. Le gestionnaire d’événements est transmis à la méthode Alert.show()
comme cinquième paramètre. L’objet événement est capturé par le gestionnaire
myClickHandler dans le paramètre evt. La propriété detail de l’objet événement est ensuite
utilisée dans une instruction cliqué (
Alert.OK ou Alert.CANCEL) vers le panneau Sortie.
import mx.controls.Alert;
trace pour envoyer le nom du bouton sur lequel l’utilisateur a
// Définition des actions du bouton. var myClickHandler:Function = function (evt_obj:Object) { switch (evt_obj.detail) { case Alert.OK : trace("You clicked: " + Alert.okLabel); break; case Alert.CANCEL : trace("You clicked: " + Alert.cancelLabel); break; } };
// Affichage de la boîte de dialogue. Alert.show("This is a test of errors", "Error", Alert.OK | Alert.CANCEL,
this, myClickHandler);
80 Composant Alert

Alert.NO

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.NO
Description
Propriété (constante) : propriété dont la valeur hexadécimale est 0x2. Cette propriété peut être utilisée pour le paramètre comme valeur du paramètre fenêtre Alert. Si elle est utilisée comme valeur du paramètre Annuler a le focus initial et est déclenché lorsque l’utilisateur appuie sur Entrée (Windows) ou sur Retour (Macintosh). Si l’utilisateur passe à un autre bouton, ce dernier est déclenché lorsque l’utilisateur appuie sur Entrée.
Exemple
L’exemple suivant utilise Alert.NO et Alert.YES comme valeurs du paramètre flags et affiche un composant Alert comportant un bouton Non et un bouton Oui :
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.NO |
Alert.YES, this);
flags ou defaultButton de la méthode Alert.show(). Utilisée
flags, elle indique qu’un bouton Non doit apparaître dans la
defaultButton, le bouton

Alert.noLabel

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.noLabel
Alert.noLabel 81
Description
Propriété (classe) : propriété de classe (statique) qui indique l’étiquette de texte du bouton Non.
Exemple
L’exemple suivant définit l’étiquette du bouton Non sur « nyet » :
Alert.noLabel = "nyet";

Alert.NONMODAL

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.NONMODAL
Description
Propriété (constante) ; propriété dont la valeur hexadécimale est 0x8000. Cette propriété peut être utilisée pour le paramètre qu’une fenêtre Alert devrait être non modale pour permettre aux utilisateurs d’interagir avec les boutons et les occurrences situées sous la fenêtre affichée. Par défaut, les fenêtres générées avec
Alert.show() sont modales, ce qui signifie que les utilisateurs ne peuvent pas cliquer sur
n’importe quel élément, sauf sur la fenêtre actuellement ouverte.
flags de la méthode Alert.show(). Cette propriété indique
Exemple
L’exemple suivant affiche deux occurrences du composant Button sur la scène. Cliquez sur un bouton pour ouvrir une fenêtre modale et empêcher l’utilisateur de cliquer sur les boutons tant que la fenêtre Alert n’est pas fermée. Le deuxième bouton ouvre une fenêtre non modale qui permet à l’utilisateur de continuer à cliquer sur les boutons situés sous la fenêtre Alert non modale actuellement ouverte. Pour tester cet exemple, ajoutez des occurrences du composant Alert et du composant Button à la bibliothèque du document en cours et ajoutez le code suivant à l’image 1 du scénario principal :
import mx.controls.Alert;
this.createClassObject(mx.controls.Button, "modal_button", 10, {_x:10,
_y:10}); this.createClassObject(mx.controls.Button, "nonmodal_button", 20, {_x:120,
_y:10});
82 Composant Alert
modal_button.label = "modal"; modal_button.addEventListener("click", modalListener); function modalListener(evt_obj:Object):Void {
var a:Alert = Alert.show("This is a modal Alert window", "Alert Test",
Alert.OK, this);
a.move(100, 100); }
nonmodal_button.label = "nonmodal"; nonmodal_button.addEventListener("click", nonmodalListener); function nonmodalListener(evt_obj:Object):Void {
var a:MovieClip = Alert.show("This is a nonmodal Alert window", "Alert
Test", Alert.OK | Alert.NONMODAL, this);
a.move(100, 100); }

Alert.OK

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.OK
Description
Propriété (constante) : propriété dont la valeur hexadécimale est 0x4. Cette propriété peut être utilisée pour le paramètre comme valeur du paramètre fenêtre Alert. Si elle est utilisée comme valeur du paramètre
flags ou defaultButton de la méthode Alert.show(). Utilisée
flags, elle indique qu’un bouton OK doit apparaître dans la
defaultButton, le bouton OK a
le focus initial et est déclenché lorsque l’utilisateur appuie sur Entrée (Windows) ou sur Retour (Macintosh). Si l’utilisateur passe à un autre bouton, ce dernier est déclenché lorsque l’utilisateur appuie sur Entrée.
Exemple
L’exemple suivant utilise Alert.OK et Alert.CANCEL comme valeurs du paramètre flags et affiche un composant Alert comportant un bouton OK et un bouton Annuler :
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.OK |
Alert.CANCEL, this);
Alert.OK 83

Alert.okLabel

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.okLabel
Description
Propriété (classe) : propriété de classe (statique) qui indique l’étiquette de texte du bouton OK.
Exemple
L’exemple suivant définit l’étiquette du bouton OK sur « okay » :
Alert.okLabel = "okay";

Alert.show()

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.show(message[, title[, flags[, parent[, clickHandler[, icon[,
defaultButton]]]]]])
Paramètres
message Message à afficher. title Texte de la barre de titre dans la fenêtre Alert. Ce paramètre est facultatif. S’il n’est
pas défini, la barre de titre est vide.
flags Paramètre facultatif qui indique les boutons devant apparaître dans la fenêtre Alert.
La valeur par défaut est plusieurs valeurs, séparez-les par un caractère suivantes :
84 Composant Alert
Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO.
Alert.OK qui permet d’afficher un bouton OK. Si vous utilisez
|. Utilisez une ou plusieurs des valeurs
Vous pouvez également utiliser Alert.NONMODAL pour indiquer que la fenêtre Alert n’est pas modale. Une fenêtre non modale permet à l’utilisateur d’interagir avec d’autres fenêtres dans l’application.
parent Fenêtre parent du composant Alert. La fenêtre Alert se centre elle-même dans la
fenêtre parent. Utilisez la valeur
null ou undefined pour désigner le scénario _root.
La fenêtre parent doit être une sous-classe de la classe UIComponent, que ce soit comme autre composant Flash ou fenêtre personnalisée (pour plus d’informations, reportez-vous à « Présentation de l’héritage » du guide Formation à ActionScript 2.0 dans Adobe Flash). Ce paramètre est facultatif.
clickHandler Gestionnaire des événements click diffusés lorsque l’utilisateur clique sur
les boutons. Outre les propriétés d’objet événement click standard, il existe une propriété
detail qui contient la valeur flag du bouton sur lequel l’utilisateur a cliqué (Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO). Ce gestionnaire peut être une fonction ou un objet.
Pour plus d’informations, consultez « Gestion des événements à l’aide d’écouteurs » dans Utilisation des composants ActionScript 2.0.
icon Chaîne correspondant à l’identifiant de liaison d’un symbole de la bibliothèque.
Ce symbole est utilisé comme icône s’affichant à gauche du texte d’alerte. Ce paramètre est facultatif.
defaultButton Désigne le bouton qui dispose du focus initial et qui est activé lorsque
l’utilisateur appuie sur Entrée (Windows) ou Retour (Macintosh). Si l’utilisateur passe à un autre bouton par tabulation, ce dernier est déclenché lorsque l’utilisateur appuie sur Entrée.
Ce paramètre peut prendre l’une des valeurs suivantes :
Alert.YES, Alert.NO.
Alert.OK, Alert.CANCEL,
Valeur renvoyée
L’occurrence Alert créée.
Description
Méthode (classe) : méthode (statique) de classe qui affiche une fenêtre Alert contenant un message et des éléments facultatifs (titre, boutons et icône). Le titre de la fenêtre Alert apparaît en haut de la fenêtre et est aligné sur la gauche. L’icône apparaît à gauche du texte du message. Les boutons sont centrés sous le texte du message et l’icône.
Alert.show() 85
Exemple
Le code suivant est un exemple simple de fenêtre Alert modale contenant un bouton OK :
mx.controls.Alert.show("Hello, world!");
Le code suivant définit un gestionnaire click qui envoie un message au panneau Sortie indiquant les boutons sur lesquels l’utilisateur a cliqué. (La bibliothèque doit contenir un composant Alert pour que ce code affiche une alerte ; pour ajouter le composant à la bibliothèque, faites-le glisser sur la scène puis supprimez-le) :
import mx.controls.Alert;
// Définition des actions du bouton. var myClickHandler:Function = function (evt_obj:Object) { if (evt_obj.detail == Alert.OK) { trace(Alert.okLabel); } else if (evt_obj.detail == Alert.CANCEL) { trace(Alert.cancelLabel); } };
// Affichage de la boîte de dialogue. var dialog_obj:Object = Alert.show("Test Alert", "Test", Alert.OK |
Alert.CANCEL, null, myClickHandler, "testIcon", Alert.OK);

Alert.YES

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.YES
Description
Propriété (constante) : propriété dont la valeur hexadécimale est 0x1. Cette propriété peut être utilisée pour le paramètre comme valeur du paramètre fenêtre Alert. Si elle est utilisée comme valeur du paramètre
flags ou defaultButton de la méthode Alert.show(). Utilisée
flags, elle indique qu’un bouton Oui doit apparaître dans la
defaultButton, le bouton Oui a
le focus initial et est déclenché lorsque l’utilisateur appuie sur Entrée (Windows) ou sur Retour (Macintosh). Si l’utilisateur passe à un autre bouton, ce dernier est déclenché lorsque l’utilisateur appuie sur Entrée.
86 Composant Alert
Exemple
L’exemple suivant utilise Alert.NO et Alert.YES comme valeurs du paramètre flags et affiche un composant Alert comportant un bouton Non et un bouton Oui :
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.NO |
Alert.YES, this);

Alert.yesLabel

Disponibilité
Flash Player 6 (6.0.79.0).
Edition
Flash MX Professional 2004.
Utilisation
Alert.yesLabel
Description
Propriété (classe) : propriété de classe (statique) qui indique l’étiquette de texte du bouton Oui.
Exemple
L’exemple suivant définit l’étiquette du bouton Oui sur « da » :
Alert.yesLabel = "da";
Alert.yesLabel 87
88 Composant Alert
CHAPITRE 4

Composant Button

Le composant Button est un bouton d’interface utilisateur rectangulaire dont les dimensions sont modifiables. Vous pouvez ajouter une icône personnalisée à un bouton. Vous pouvez également modifier son comportement pour transformer un bouton-poussoir en bouton bascule. Un bouton bascule reste enfoncé lorsque l’utilisateur clique dessus, puis reprend l’état relevé au clic suivant.
REMARQUE
Un composant Button est pris en charge pour ActionScript 2.0 et ActionScript 3.0. Ce document présente le composant de la version 2. Si vous utilisez celui de la version 3, reportez-vous à « Utilisation du composant Button » dans Utilisation des composants ActionScript 3.0.
Un bouton peut être activé ou désactivé dans une application. En état désactivé, un bouton ne réagit pas aux commandes de la souris ou du clavier. Un bouton activé reçoit le focus si vous cliquez sur son entrée ou si vous appuyez sur la touche de tabulation pour l’atteindre. Lorsque l’occurrence d’un bouton a le focus, vous pouvez la contrôler à l’aide des touches suivantes :
Touche Description
Contrôle + Place le focus sur l’objet précédent.
Espace Sélectionne ou libère le composant et déclenche l’événement click.
Place le focus sur l’objet suivant.
4
Pour plus d’informations sur le contrôle du focus, reportez-vous à « Classe FocusManager », à
la page 745 ou à « Création de la navigation personnalisée du focus » dans Utilisation des
composants ActionScript 2.0. L’aperçu en direct des occurrences de bouton reflète les modifications apportées aux
paramètres dans l’inspecteur Propriétés ou l’inspecteur des composants pendant la programmation. Cependant, dans l’aperçu en direct, une icône personnalisée est représentée sur la scène par un carré gris.
89
Lorsque vous ajoutez le composant Button à une application, vous pouvez utiliser le panneau Accessibilité pour le rendre accessible aux lecteurs d’écran. Commencez par ajouter la ligne de code suivante :
mx.accessibility.ButtonAccImpl.enableAccessibility();
Quel que soit le nombre d’occurrences d’un composant, l’activation de son accessibilité ne se fait qu’une fois.

Utilisation du composant Button

Les boutons sont les éléments de base de tous les formulaires et de toutes les applications Web. Chaque fois que l’utilisateur doit pouvoir déclencher un événement, vous utilisez des boutons. Par exemple, la plupart des formulaires comportent un bouton Envoyer. Vous pouvez également ajouter des boutons Précédent et Suivant à une présentation.
Pour ajouter une icône à un bouton, vous devez sélectionner ou créer le clip ou le symbole graphique à utiliser comme icône. Ce symbole doit être enregistré au point 0,0 pour une mise en forme appropriée sur le bouton. Sélectionnez le symbole de l’icône dans le panneau Bibliothèque, ouvrez la boîte de dialogue Liaison dans le menu contextuel et saisissez un identifiant de liaison. Il s’agit de la valeur à entrer pour le paramètre de l’icône dans l’inspecteur Propriétés ou l’inspecteur des composants. Vous pouvez également entrer cette valeur pour la propriété
REMARQUE
Lorsque l’icône est plus grande que le bouton, elle dépasse ses bordures.
Button.icon d’ActionScript.
Pour désigner un bouton comme bouton-poussoir par défaut dans une application (bouton qui reçoit l’événement click lorsque l’utilisateur appuie sur Entrée), utilisez
FocusManager.defaultPushButton.
90 Composant Button

Paramètres du composant Button

Dans l’inspecteur Propriétés ou l’inspecteur de composants (option de menu Fenêtre > Inspecteur de composants), vous pouvez définir les paramètres de création suivants pour chaque occurrence Button :
icon Ajoute une icône personnalisée au bouton. La valeur est l’identifiant de liaison d’un clip
ou d’un symbole graphique dans la bibliothèque ; il n’existe pas de valeur par défaut.
label Définit le texte inscrit sur le bouton. La valeur par défaut est Button. labelPlacement Oriente le texte de l’étiquette sur le bouton par rapport à l’icône.
Ce paramètre peut prendre l’une des quatre valeurs suivantes : La valeur par défaut est
selected Si le paramètre toggle est true, ce paramètre spécifie si le bouton est enfoncé (true)
ou relâché (
toggle Transforme le bouton en bouton bascule. Si la valeur est true, le bouton reste enfoncé
false). La valeur par défaut est false.
right. Pour plus d’informations, voir Button.labelPlacement.
lorsque l’on clique sur son entrée et reprend l’état relevé au clic suivant. Si la valeur est le bouton se comporte comme un bouton-poussoir normal. La valeur par défaut est
Dans l’inspecteur des composants, vous pouvez définir les paramètres supplémentaires suivants pour chaque occurrence du composant Button (Fenêtre > Inspecteur de composants) :
enabled est une valeur booléenne qui indique si le composant peut recevoir le focus et
l’entrée. La valeur par défaut est
visible est une valeur booléenne indiquant si l’objet est visible (true) ou non (false).
La valeur par défaut est
REMARQUE
Les propriétés minHeight et minWidth sont utilisées par des routines de dimensionnement internes. Elles sont définies dans UIObject et remplacées par différents composants selon vos besoins. Vous pouvez utiliser ces propriétés si vous apportez une disposition personnalisée à votre application. Dans le cas contraire, la définition de ces propriétés dans l’inspecteur de composants n’a aucun effet visible.
true.
true.
left, right, top ou bottom.
false,
false.
Vous pouvez rédiger du code ActionScript pour contrôler ces options et d’autres options du composant Button à l’aide des propriétés, méthodes et événements ActionScript. Pour plus d’informations, voir « Classe Button », à la page 103.
Utilisation du composant Button 91

Création d’une application avec le composant Button

La procédure suivante décrit l’ajout d’un composant Button à une application lors de la programmation. Dans cet exemple, le bouton affiche un message lorsque vous cliquez dessus.
Pour créer une application avec le composant Button :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier Flash (ActionScript 2.0).
2. Faites glisser un composant Button du panneau Composants vers la scène.
3. Dans l’inspecteur Propriétés, procédez comme suit :
Entrez le nom d’occurrence my_button.
Entrez Click me pour le paramètre label.
Entrez BtnIcon comme paramètre de l’icône (icon).
Pour utiliser une icône, le clip ou le symbole graphique doit être stocké dans la bibliothèque avec un identifiant de liaison, à utiliser comme paramètre icon. Dans cet exemple, l’identifiant de liaison est BtnIcon.
Définissez la propriété toggle sur true.
4. Choisissez l’image 1 dans le scénario, ouvrez le panneau Actions et saisissez le code suivant :
function clicked(){
trace("You clicked the button!"); } my_button.addEventListener("click", clicked);
La dernière ligne de code appelle une fonction de gestionnaire d’événements clicked pour l’événement « click ». Elle utilise la méthode
« EventDispatcher.addEventListener() », à la page 517 avec une fonction personnalisée
pour gérer l’événement.
5. Choisissez Contrôle > Tester l’animation.
6. Lorsque vous cliquez sur le bouton, Flash affiche le message « You clicked the button! »
(Vous avez cliqué sur le bouton !).
Pour créer un composant Button à l’aide d’ActionScript :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier Flash (ActionScript 2.0).
2. Faites glisser le composant Button du panneau Composants vers la bibliothèque du
document en cours. Cette opération permet d’ajouter le composant à la bibliothèque, mais elle ne le rend pas
visible dans l’application.
92 Composant Button
3. Dans la première image du scénario principal, ajoutez le code ActionScript suivant au
panneau Actions pour créer une occurrence du composant Button :
this.createClassObject(mx.controls.Button, "my_button", 10,
{label:"Click me"}); my_button.move(20, 20);
La méthode UIObject.createClassObject() permet de créer l’occurrence du composant Button nommée my_button et de spécifier une propriété d’étiquette. Le code utilise ensuite la méthode
4. Ajoutez maintenant le code ActionScript suivant pour créer un écouteur d’événements et
UIObject.move() pour positionner le bouton.
une fonction de gestionnaire d’événements :
function clicked() {
trace("You clicked the button!"); } my_button.addEventListener("click", clicked);
Il utilise la méthode « EventDispatcher.addEventListener() », à la page 517 avec une fonction personnalisée pour gérer l’événement.
5. Choisissez Contrôle > Tester l’animation.
6. Lorsque vous cliquez sur le bouton, Flash affiche le message « You clicked the button! »
(Vous avez cliqué sur le bouton !).
Lorsque vous utilisez le composant Button avec d’autres composants, vous pouvez créer des fonctions de gestionnaire d’événements plus complexes. Dans cet exemple, l’événement « click » provoque la modification de l’affichage des panneaux par le composant Accordion.
Pour utiliser un événement Button avec un autre composant :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier Flash (ActionScript 2.0).
2. Faites glisser le composant Button du panneau Composants jusqu’à la bibliothèque du
document actif. Cette opération permet d’ajouter le composant à la bibliothèque, mais elle ne permet pas
de le rendre visible dans l’application.
3. Faites glisser le composant Accordion du panneau Composants à la bibliothèque du
document actuel.
Utilisation du composant Button 93
4. Dans la première image du scénario principal, ajoutez le code ActionScript suivant au
panneau Actions pour créer une occurrence du composant Button :
this.createClassObject(mx.containers.Accordion, "my_acc", 0); my_acc.move(10, 40); my_acc.createChild(mx.core.View, "panelOne", {label: "Panel One"}); my_acc.createChild(mx.core.View, "panelTwo", {label: "Panel Two"});
this.createClassObject(mx.controls.Button, "panelOne_button", 10,
{label:"Panel One"}); panelOne_button.move(10, 10); this.createClassObject(mx.controls.Button, "panelTwo_button", 20,
{label:"Panel Two"}); panelTwo_button.move(120, 10);
Cette procédure utilise la méthode UIObject.createClassObject() pour créer les occurrences des composants Button et Accordion. Le code utilise ensuite la méthode
UIObject.move() pour positionner les occurrences.
5. Ajoutez maintenant le code ActionScript suivant pour créer des écouteurs d’événements et
des fonctions de gestionnaire d’événements :
// Création du gestionnaire pour l’événement button. function changePanel(evt_obj:Object):Void { // Modification de l’affichage du composant Accordion en fonction
// du bouton sélectionné. switch (evt_obj.target._name) { case "panelOne_button" : my_acc.selectedIndex = 0; break; case "panelTwo_button" : my_acc.selectedIndex = 1; break; } }
// Ajout d’écouteurs pour les boutons. panelOne_button.addEventListener("click", changePanel); panelTwo_button.addEventListener("click", changePanel);
La méthode EventDispatcher.addEventListener() est utilisée avec une fonction personnalisée pour gérer les événements.
6. Sélectionnez Contrôle > Tester l’animation.
7. Lorsque vous cliquez sur un bouton, le composant Accordion change le panneau actuel.
94 Composant Button

Personnalisation du composant Button

Vous pouvez orienter un composant Button dans le sens horizontal et vertical pendant la création et à l’exécution. Lors de la programmation, sélectionnez le composant sur la scène et utilisez l’outil Transformer librement ou une commande de modification > transformation. A l’exécution, utilisez la méthode propriétés et des méthodes applicables de la classe Button (reportez-vous à «Classe Button», à
la page 103). Le redimensionnement du bouton n’affecte pas la taille de l’icône ni celle de
l’étiquette. Le cadre de sélection d’une occurrence de bouton est invisible et désigne également la zone
active de l’occurrence. Si vous augmentez la taille de l’occurrence, vous augmentez également la taille de la zone active. Si le cadre de sélection est trop petit pour contenir l’étiquette, celle­ci est découpée à la bonne taille.
Lorsque l’icône est plus grande que le bouton, elle dépasse ses bordures.

Utilisation de styles avec le composant Button

Vous pouvez définir des propriétés de style pour modifier l’aspect de l’occurrence d’un bouton. Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de couleur qui se comporte différemment des autres propriétés de style. Pour plus d’informations, consultez « Utilisation de styles pour personnaliser la couleur et le texte des composants » dans Utilisation des composants ActionScript 2.0.
Un composant Button prend en charge les styles suivants :
setSize() (reportez-vous à UIObject.setSize()) ou des
Style Thème Description
themeColor
backgroundColor
Halo Couleur de base d’un composant. "haloGreen",
"haloBlue" et "haloOrange" sont des valeurs possibles.
La valeur par défaut est
Sample Couleur d’arrière-plan. La valeur par défaut est
0xEFEBEF (gris clair). Le thème Halo utilise 0xF8F8F8 (gris très clair) comme couleur d’arrière-plan du bouton lorsque ce dernier est relevé et couleur d’arrière-plan du bouton relevé peut être modifiée dans le thème Halo, en appliquant une enveloppe au bouton. Voir « Utilisation des enveloppes
avec le composant Button », à la page 97.
themeColor lorsqu’il est enfoncé. Seule la
"haloGreen".
Personnalisation du composant Button 95
Style Thème Description
borderStyle
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textDecoration
Sample Le composant Button utilise une occurrence
RectBorder comme bordure dans le thème Sample et répond au styles définis dans cette classe. Voir «Classe
RectBorder », à la page 1111.
Avec le thème Halo, le composant Button utilise une bordure arrondie personnalisée dont les couleurs ne sont pas modifiables, à l’exception de
Les deux Couleur du texte. La valeur par défaut est 0x0B333C
pour le thème Halo et vide pour le thème Sample.
Les deux Couleur du texte lorsque le composant est désactivé.
La couleur par défaut est 0x848384 (gris foncé).
Les deux Valeur booléenne qui indique si la police spécifiée dans
fontFamily est de type intégré. Ce style doit être défini
true si fontFamily fait référence à une police
sur intégrée. Dans le cas contraire, la police intégrée n’est pas utilisée. Si ce style est défini sur
fontFamily ne fait pas référence à une police intégrée,
aucun texte n’est affiché. La valeur par défaut est
Les deux Nom de la police du texte. La valeur par défaut est
"_sans".
Les deux Taille, en points, de la police. La valeur par défaut est 10.
Les deux Style de police : "normal" ou "italic". La valeur par
défaut est
"normal".
Les deux Epaisseur de la police : « none » ou « bold ». La valeur
par défaut est également accepter la valeur pendant un appel à la méthode appels suivants à
Les deux Décoration du texte : "none" ou "underline". La valeur
par défaut est
themeColor.
true et que
false.
"none". Tous les composants peuvent
"normal" au lieu de "none"
setStyle(), mais les
getStyle() renvoient "none".
"none".
96 Composant Button

Utilisation des enveloppes avec le composant Button

En réponse aux bordures et icônes des 16 différents états possibles, le composant Button comprend 32 enveloppes différentes personnalisables. Pour appliquer une enveloppe au composant Button pendant la programmation, créez de nouveaux symboles de clip avec les graphiques désirés, puis définissez les identifiants de liaison des symboles à l’aide d’ActionScript. (Pour plus d’informations, voir « Utilisation d’ActionScript pour dessiner les
enveloppes du composant Button », à la page 99.)
L’implémentation par défaut des enveloppes Button fournies avec les thèmes Halo et Sample utilise l’API de dessin ActionScript pour dessiner les états des boutons et le symbole de clip associé à une classe ActionScript pour fournir toutes les enveloppes au composant Button.
Le composant Button dispose de nombreuses enveloppes et d’une bordure et d’une icône pour chaque état, car ses états sont également très nombreux. Quatre propriétés et l’interaction de l’utilisateur contrôlent l’état d’une occurrence Button. Les propriétés suivantes affectent les enveloppes :
Propriété Description
emphasized
enabled
toggle
selected
Donne deux apparences différentes aux occurrences Button et sert généralement à les mettre en surbrillance, par exemple le bouton par défaut dans un formulaire.
Indique si le bouton autorise ou non une interaction de l’utilisateur.
Présente une valeur sélectionnée et non sélectionnée et utilise des enveloppes différentes pour signaler la valeur en cours. Dans le cas d’une occurrence Button dont la propriété définie sur cette propriété est définie sur propriété
Lorsque la propriété toggle est définie sur true, elle détermine si le composant Button est sélectionné ( différentes enveloppes permettent d’identifier la valeur et sont, par défaut, le seul moyen de représenter cette valeur à l’écran.
false, les enveloppes false sont utilisées. Lorsque
true, l’enveloppe dépend de la
selected.
true ou false). Les
toggle est
Si un bouton est activé, il affiche l’état Dessus lorsque le pointeur de la souris est placé au­dessus. Le bouton reçoit le focus d’entrée et affiche l’état Abaissé lorsque l’utilisateur clique dessus. Le bouton retrouve l’état Dessus lorsque la souris est relâchée. Si le pointeur s’éloigne du bouton alors que la souris est enfoncée, le bouton retrouve son état d’origine et garde le focus d’entrée. Si le paramètre toggle est défini sur
true, l’état du bouton ne change pas
jusqu’à ce que le bouton de la souris soit relâché sur lui. Si un bouton est désactivé, il affiche son état désactivé, quelle que soit l’interaction de
l’utilisateur.
Personnalisation du composant Button 97
Les composants Button prennent en charge les propriétés d’enveloppe suivantes :
Propriété Description
falseUpSkin
falseDownSkin
falseOverSkin
falseDisabledSkin
trueUpSkin
trueDownSkin
trueOverSkin
trueDisabledSkin
falseUpSkinEmphasized
falseDownSkinEmphasized
falseOverSkinEmphasized
falseDisabledSkinEmphasized
trueUpSkinEmphasized
trueDownSkinEmphasized
trueOverSkinEmphasized
trueDisabledSkinEmphasized
falseUpIcon
falseDownIcon
falseOverIcon
falseDisabledIcon
trueUpIcon
trueOverIcon
trueDownIcon
trueDisabledIcon
falseUpIconEmphasized
falseDownIconEmphasized
falseOverIconEmphasized
falseDisabledIconEmphasized
trueUpIconEmphasized
Etat relevé (normal).
Etat enfoncé.
Etat survolé.
Etat désactivé.
Etat basculé.
Etat enfoncé-basculé.
Etat survolé-basculé.
Etat désactivé-basculé.
Etat relevé (normal) d’un bouton mis en relief.
Etat enfoncé d’un bouton mis en relief.
Etat survolé d’un bouton mis en relief.
Etat désactivé d’un bouton mis en relief.
Etat basculé d’un bouton mis en relief.
Etat enfoncé-basculé d’un bouton mis en relief.
Etat survolé-basculé d’un bouton mis en relief.
Etat désactivé-basculé d’un bouton mis en relief.
Etat relevé de l’icône.
Etat enfoncé de l’icône.
Etat survolé de l’icône.
Etat désactivé de l’icône.
Etat basculé de l’icône.
Etat survolé-basculé de l’icône.
Etat enfoncé-basculé de l’icône.
Etat désactivé-basculé de l’icône.
Etat relevé de l’icône d’un bouton mis en relief.
Etat enfoncé de l’icône d’un bouton mis en relief.
Etat survolé de l’icône d’un bouton mis en relief.
Etat désactivé de l’icône d’un bouton mis en relief.
Etat basculé de l’icône d’un bouton mis en relief.
98 Composant Button
Propriété Description
trueOverIconEmphasized
trueDownIconEmphasized
trueDisabledIconEmphasized
Etat survolé-basculé de l’icône d’un bouton mis en relief.
Etat enfoncé-basculé de l’icône d’un bouton mis en relief.
Etat désactivé-basculé de l’icône d’un bouton mis en relief.
La valeur par défaut de toutes les propriétés d’enveloppe se terminant par « Skin » est
ButtonSkin et celle de toutes les propriétés « Icon » est undefined. Les propriétés présentant
un suffixe « Skin » fournissent un arrière-plan et une bordure, alors que celles qui présentent un suffixe « Icon » fournissent une petite icône.
Outre les enveloppes d’icône, le composant Button reconnaît également une propriété
icon
standard. La différence entre la propriété standard et la propriété de style est que cette dernière vous permet de définir des icônes pour les états individuels alors que la première ne permet de définir qu’une icône appliquée à tous les états. Lorsque la propriété
icon et des propriétés de
styles sont définies pour une occurrence Button, le comportement de celle-ci peut être imprévisible.
Reportez-vous à Utilisation des composants ActionScript 2.0 dans l’Aide pour regarder une démo interactive présentant l’utilisation de chaque enveloppe.
Utilisation d’ActionScript pour dessiner les enveloppes du composant Button
Les enveloppes par défaut des thèmes Halo et Sample utilisent le même élément d’enveloppe pour tous les états et tracent les graphiques réels via ActionScript. L’implémentation de Halo utilise une extension de la classe RectBorder et un code de dessin personnalisé pour tracer les états. L’implémentation de Sample utilise la même enveloppe et la même classe ActionScript que le thème Halo, différentes propriétés étant définies dans ActionScript pour modifier l’apparence du composant Button.
Pour créer une classe ActionScript, l’utiliser comme enveloppe et fournir différents états, l’enveloppe peut lire la propriété de style
emphasized du parent pour déterminer l’état. Le tableau suivant présente le style de bordure
défini pour chaque enveloppe :
borderStyle de l’enveloppe et la propriété
Propriété Style de bordure
falseUpSkin falseup
falseDownSkin falsedown
falseOverSkin falserollover
falseDisabled falsedisabled
Personnalisation du composant Button 99
Propriété Style de bordure
trueUpSkin trueup
trueDownSkin truedown
trueOverSkin truerollover
trueDisabledSkin truedisabled
Pour créer une enveloppe de bouton ActionScript personnalisée :
1. Sélectionnez Fichier > Nouveau, puis choisissez Fichier ActionScript.
2. Copiez le code ActionScript suivant dans le fichier :
import mx.skins.RectBorder; import mx.core.ext.UIObjectExtensions;
class RedGreenBlueSkin extends RectBorder {
static var symbolName:String = "RedGreenBlueSkin"; static var symbolOwner:Object = RedGreenBlueSkin;
function size():Void {
var c:Number; // couleur var borderStyle:String = getStyle("borderStyle");
switch (borderStyle) {
case "falseup": case "falserollover": case "falsedisabled":
c = 0x7777FF; break;
case "falsedown":
c = 0x77FF77;
break; case "trueup": case "truedown": case "truerollover": case "truedisabled":
c = 0xFF7777;
break;
}
clear(); var thickness = _parent.emphasized ? 2 : 0; lineStyle(thickness, 0, 100); beginFill(c, 100); drawRect(0, 0, __width, __height); endFill();
}
100 Composant Button
Loading...