Adobe ActionScript - 2.0 Referencia del Lenguaje de Componentes [es]

REFERENCIA DEL LENGUAJE DE COMPONENTES PARA
ACTIONSCRIPT
2.0
© 2007 Adobe Systems Incorporated. Todos los derechos reservados.
Referencia del lenguaje de componentes ActionScript
2.0
El contenido de esta guía se proporciona exclusivamente con fines informativos, está sujeto a cambios sin previo aviso y no debe interpretarse como un compromiso de Adobe Systems Incorporated. Adobe Systems Incorporated no asume ninguna responsabilidad por los errores o imprecisiones que puedan existir en el contenido informativo de esta guía.
Recuerde que las ilustraciones o imágenes existentes que desee incluir en su proyecto pueden estar protegidas por las leyes de derechos de autor. La incorporación no autorizada de este material en sus trabajos puede infringir los derechos del propietario de los derechos de autor. Asegúrese de obtener los permisos necesarios del propietario de los derechos de autor.
Cualquier referencia a nombres de compañías en plantillas de ejemplo sólo se hace con propósitos de demostración y no está relacionada con ninguna organización real.
Adobe®, Flash®, FlashHelp®, Flash® Player, JRun™, Macromedia® y Shockwave® son marcas registradas o marcas comerciales de Adobe Systems Incorporated
en Estados Unidos y/o en otros países.
Macintosh® es una marca comercial de Apple Computer, Inc., registrados en Estados Unidos y/o en otros países. Windows® es una marca registrada o un marca comercial de Microsoft Corporation en Estados Unidos y/o en otros países. Todas las demás marcas comerciales son propiedad de sus propietarios respectivos.
Partes de este producto contienen código con licencia de Nellymoser. (www.nellymoser.com).
La tecnología de compresión y descompresión de vídeo Sorenson Spark
tiene licencia de
Sorenson Media, Inc.
Flash CS3 utiliza tecnología de vídeo de On2 TrueMotion. © 1992-2005 On2 Technologies, Inc. Todos los derechos reservados. http://www.on2.com.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, EE.UU. Aviso para usuarios finales del Gobierno de EE.UU. El Software y la Documentación son “Elementos comerciales”, según la definición de este término incluida en 48 C.F.R.
§2.101, consistentes en “Software informático comercial” y “Documentación de software informático comercial”, según el uso aplicable de dichos términos en 48 C.F.R. §12.212 ó 48 C.F.R. §227.7202. En conformidad con 48 C.F.R. §12.212 o 48 C.F.R.
§§227.7202-1 a 227.7202-4 (lo que corresponda), se otorga a usuarios finales del gobierno de EE.UU. una licencia del Software informático comercial y la Documentación de software comercial (a) únicamente como elementos comerciales y (b) exclusivamente con los derechos concedidos a todos los demás usuarios finales para su utilización en conformidad con los términos y las condiciones aquí descritos. Derechos no publicados reservados bajo las leyes de derechos de autor de Estados Unidos. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, EE.UU. Para los usuarios finales del gobierno de EE.UU., Adobe se compromete a cumplir todas las leyes de igualdad de oportunidades aplicables incluidas, si corresponde, las disposiciones del decreto-ley 11246, con las enmiendas, Sección 402 de la Ley de ayuda para la readaptación de los veteranos de Vietnam de 1974 (38 USC 4212) y Sección 503 de la Ley de Rehabilitación de 1973, con las enmiendas, y los reglamentos de los apartados 60-1 a 60-60, 60-250 y 60-741 de 41 CFR. La cláusula de discriminación positiva y los reglamentos incluidos en la declaración anterior deben incorporarse mediante referencia.

Contenido

Capítulo 1: Componentes ActionScript 2.0 . . . . . . . . . . . . . . . . . 29
Otras listas de este manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Capítulo 2: Componente Accordion . . . . . . . . . . . . . . . . . . . . . . . 35
Utilización del componente Accordion . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Personalización del componente Accordion . . . . . . . . . . . . . . . . . . . . . . 41
Clase Accordion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Accordion.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Accordion.createChild() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Accordion.createSegment() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Accordion.destroyChildAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Accordion.getChildAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Accordion.getHeaderAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Accordion.numChildren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Accordion.selectedChild. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Accordion.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Capítulo 3: Componente Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Utilización del componente Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Personalización del componente Alert . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Clase Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
Alert.buttonHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Alert.buttonWidth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Alert.CANCEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Alert.cancelLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Alert.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Alert.NO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Alert.noLabel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Alert.NONMODAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Alert.OK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Alert.okLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Alert.show() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Alert.YES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Alert.yesLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3
Capítulo 4: Componente Button . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Utilización del componente Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
Personalización del componente Button. . . . . . . . . . . . . . . . . . . . . . . . . 96
Clase Button. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Button.icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Button.label. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
Button.labelPlacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Capítulo 5: Interfaz API CellRenderer . . . . . . . . . . . . . . . . . . . . . 113
Aspectos básicos de la clase List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
Utilización de la interfaz API CellRenderer . . . . . . . . . . . . . . . . . . . . . . .115
CellRenderer.getCellIndex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
CellRenderer.getDataLabel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
CellRenderer.getPreferredHeight(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
CellRenderer.getPreferredWidth() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
CellRenderer.listOwner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
CellRenderer.owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
CellRenderer.setSize(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
CellRenderer.setValue(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Capítulo 6: Componente CheckBox . . . . . . . . . . . . . . . . . . . . . . . 133
Utilización del componente CheckBox . . . . . . . . . . . . . . . . . . . . . . . . . 134
Personalización del componente CheckBox . . . . . . . . . . . . . . . . . . . . 137
Clase CheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
CheckBox.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
CheckBox.label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
CheckBox.labelPlacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
CheckBox.selected. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Capítulo 7: Interfaz Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Clase Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Collection.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Collection.contains(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Collection.clear() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Collection.getItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Collection.getIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Collection.getLength() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Collection.isEmpty() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Collection.removeItem(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
4Contenido
Capítulo 8: Componente ComboBox . . . . . . . . . . . . . . . . . . . . . . 163
Utilización del componente ComboBox . . . . . . . . . . . . . . . . . . . . . . . . .166
Personalización del componente ComboBox . . . . . . . . . . . . . . . . . . . .169
Clase ComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
ComboBox.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
ComboBox.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
ComboBox.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
ComboBox.close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
ComboBox.close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
ComboBox.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
ComboBox.dropdown. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
ComboBox.dropdownWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
ComboBox.editable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
ComboBox.enter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
ComboBox.getItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
ComboBox.itemRollOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
ComboBox.itemRollOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
ComboBox.labelField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
ComboBox.labelFunction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
ComboBox.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
ComboBox.open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
ComboBox.open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
ComboBox.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
ComboBox.removeItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
ComboBox.replaceItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
ComboBox.restrict. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
ComboBox.rowCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
ComboBox.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
ComboBox.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
ComboBox.selectedItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
ComboBox.sortItems() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
ComboBox.sortItemsBy(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
ComboBox.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
ComboBox.textField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
ComboBox.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
Capítulo 9: Clases de vinculación de datos . . . . . . . . . . . . . . . . . 217
Disponibilidad de las clases de vinculación de datos en tiempo
de ejecución. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Clases del paquete mx.data.binding. . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Clase Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219
Contenido 5
Constructor para la clase Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Binding.execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222
Clase CustomFormatter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
CustomFormatter.format() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
CustomFormatter.unformat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
Clase CustomValidator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227
CustomValidator.validate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228
CustomValidator.validationError() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Clase EndPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
Constructor de la clase EndPoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
EndPoint.component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
EndPoint.constant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
EndPoint.event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
EndPoint.location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
EndPoint.property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
Clase ComponentMixins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
ComponentMixins.getField() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
ComponentMixins.initComponent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
ComponentMixins.refreshDestinations() . . . . . . . . . . . . . . . . . . . . . . . .242
ComponentMixins.refreshFromSources() . . . . . . . . . . . . . . . . . . . . . . .242
ComponentMixins.validateProperty(). . . . . . . . . . . . . . . . . . . . . . . . . . .243
Clase DataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
DataType.encoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
DataType.formatter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
DataType.getAnyTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
DataType.getAsBoolean(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
DataType.getAsNumber() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
DataType.getAsString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
DataType.getTypedValue(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
DataType.kind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
DataType.setAnyTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
DataType.setAsBoolean(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
DataType.setAsNumber() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257
DataType.setAsString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
DataType.setTypedValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
Clase TypedValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Constructor para la clase TypedValue . . . . . . . . . . . . . . . . . . . . . . . . . . 261
TypedValue.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
TypedValue.typeName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262
TypedValue.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262
6Contenido
Capítulo 10: Componente DataGrid . . . . . . . . . . . . . . . . . . . . . . 263
Interacción con el componente DataGrid . . . . . . . . . . . . . . . . . . . . . . . 264
Utilización del componente DataGrid . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Estrategias de rendimiento de DataGrid . . . . . . . . . . . . . . . . . . . . . . . . 272
Personalización del componente DataGrid . . . . . . . . . . . . . . . . . . . . . 274
Clase DataGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
DataGrid.addColumn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
DataGrid.addColumnAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
DataGrid.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
DataGrid.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
DataGrid.cellEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
DataGrid.cellFocusIn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
DataGrid.cellFocusOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
DataGrid.cellPress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
DataGrid.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
DataGrid.columnCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
DataGrid.columnNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
DataGrid.columnStretch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
DataGrid.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301
DataGrid.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
DataGrid.editField() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
DataGrid.focusedCell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
DataGrid.getColumnAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
DataGrid.getColumnIndex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
DataGrid.headerHeight. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
DataGrid.headerRelease . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
DataGrid.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
DataGrid.removeAllColumns() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
DataGrid.removeColumnAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313
DataGrid.replaceItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314
DataGrid.resizableColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
DataGrid.selectable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316
DataGrid.showHeaders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
DataGrid.sortableColumns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
DataGrid.spaceColumnsEqually() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
Clase DataGridColumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Constructor de la clase DataGridColumn . . . . . . . . . . . . . . . . . . . . . . . 322
DataGridColumn.cellRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
DataGridColumn.columnName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
DataGridColumn.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
DataGridColumn.headerRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
DataGridColumn.headerText. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
DataGridColumn.labelFunction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Contenido 7
DataGridColumn.resizable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328
DataGridColumn.sortable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329
DataGridColumn.sortOnHeaderRelease . . . . . . . . . . . . . . . . . . . . . . . 330
DataGridColumn.width. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Capítulo 11: Componente DataHolder. . . . . . . . . . . . . . . . . . . . . 333
Creación de aplicaciones con el componente DataHolder . . . . . . . .335
Clase DataHolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336
DataHolder.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336
Capítulo 12: Interfaz API de DataProvider . . . . . . . . . . . . . . . . . 339
DataProvider.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
DataProvider.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342
DataProvider.editField(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343
DataProvider.getEditingData(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
DataProvider.getItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345
DataProvider.getItemID() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346
DataProvider.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347
DataProvider.modelChanged. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347
DataProvider.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
DataProvider.removeItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
DataProvider.replaceItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
DataProvider.sortItems() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
DataProvider.sortItemsBy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352
Capítulo 13: Componente DateChooser. . . . . . . . . . . . . . . . . . . 355
Utilización del componente DateChooser . . . . . . . . . . . . . . . . . . . . . . .355
Personalización del componente DateChooser . . . . . . . . . . . . . . . . . .358
Clase DateChooser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362
DateChooser.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
DateChooser.dayNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .368
DateChooser.disabledDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .369
DateChooser.disabledRanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .369
DateChooser.displayedMonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370
DateChooser.displayedYear. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
DateChooser.firstDayOfWeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .372
DateChooser.monthNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
DateChooser.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
DateChooser.selectableRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .375
DateChooser.selectedDate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376
DateChooser.showToday . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
8Contenido
Capítulo 14: Componente DataSet . . . . . . . . . . . . . . . . . . . . . . . 379
Utilización del componente DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Clase DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
DataSet.addItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
DataSet.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
DataSet.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
DataSet.addSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
DataSet.afterLoaded. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
DataSet.applyUpdates(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
DataSet.calcFields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
DataSet.changesPending() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
DataSet.clear() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
DataSet.createItem(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401
DataSet.currentItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
DataSet.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
DataSet.deltaPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
DataSet.deltaPacketChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
DataSet.disableEvents(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
DataSet.enableEvents() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
DataSet.filtered. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
DataSet.filterFunc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
DataSet.find() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .414
DataSet.findFirst() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .416
DataSet.findLast() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .417
DataSet.first() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .419
DataSet.getItemId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
DataSet.getIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421
DataSet.getLength() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
DataSet.hasNext() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
DataSet.hasPrevious() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
DataSet.hasSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
DataSet.isEmpty() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
DataSet.items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
DataSet.itemClassName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
DataSet.iteratorScrolled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
DataSet.last() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
DataSet.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .431
DataSet.loadFromSharedObj(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
DataSet.locateById(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
DataSet.logChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
DataSet.modelChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
DataSet.newItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Contenido 9
DataSet.next() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
DataSet.previous() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
DataSet.properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
DataSet.readOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
DataSet.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
DataSet.removeItem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
DataSet.removeItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
DataSet.removeItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .447
DataSet.removeRange() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .448
DataSet.removeSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
DataSet.resolveDelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
DataSet.saveToSharedObj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
DataSet.schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .453
DataSet.selectedIndex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
DataSet.setIterator(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
DataSet.setRange() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .456
DataSet.skip() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .457
DataSet.useSort() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .458
Capítulo 15: Componente DateField . . . . . . . . . . . . . . . . . . . . . 459
Utilización del componente DateField . . . . . . . . . . . . . . . . . . . . . . . . . 460
Personalización del componente DateField . . . . . . . . . . . . . . . . . . . . .462
Clase DateField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .466
DateField.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
DateField.close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .472
DateField.close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .473
DateField.dateFormatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475
DateField.dayNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475
DateField.disabledDays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .476
DateField.disabledRanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
DateField.displayedMonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .478
DateField.displayedYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .478
DateField.firstDayOfWeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479
DateField.monthNames. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
DateField.open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
DateField.open. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
DateField.pullDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .483
DateField.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .483
DateField.selectableRange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .485
DateField.selectedDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .486
DateField.showToday . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .487
10 Contenido
Capítulo 16: Clase Delegate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Delegate.create() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Capítulo 17: Clase DeltaItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
DeltaItem.argList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
DeltaItem.curValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
DeltaItem.delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
DeltaItem.kind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
DeltaItem.message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
DeltaItem.name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
DeltaItem.newValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
DeltaItem.oldValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Capítulo 18: Interfaz Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Delta.addDeltaItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Delta.getChangeList(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Delta.getDeltaPacket() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Delta.getId(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Delta.getItemByName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .501
Delta.getMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Delta.getOperation() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Delta.getSource(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Capítulo 19: Interfaz DeltaPacket . . . . . . . . . . . . . . . . . . . . . . . . 507
DeltaPacket.getConfigInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
DeltaPacket.getIterator() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
DeltaPacket.getSource() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .510
DeltaPacket.getTimestamp(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
DeltaPacket.getTransactionId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .512
DeltaPacket.logChanges() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .513
Capítulo 20: Clase DepthManager . . . . . . . . . . . . . . . . . . . . . . . .515
DepthManager.createChildAtDepth() . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
DepthManager.createClassChildAtDepth() . . . . . . . . . . . . . . . . . . . . . .518
DepthManager.createClassObjectAtDepth() . . . . . . . . . . . . . . . . . . . .519
DepthManager.createObjectAtDepth() . . . . . . . . . . . . . . . . . . . . . . . . 520
DepthManager.kBottom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .521
DepthManager.kCursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .521
DepthManager.kNotopmost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
DepthManager.kTooltip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
DepthManager.kTop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Contenido 11
DepthManager.kTopmost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .523
DepthManager.setDepthAbove() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
DepthManager.setDepthBelow() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
DepthManager.setDepthTo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .525
Capítulo 21: Clase EventDispatcher . . . . . . . . . . . . . . . . . . . . . . 527
Objetos de evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .527
Clase EventDispatcher (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .528
EventDispatcher.addEventListener() . . . . . . . . . . . . . . . . . . . . . . . . . . 529
EventDispatcher.dispatchEvent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
EventDispatcher.removeEventListener(). . . . . . . . . . . . . . . . . . . . . . . .532
Capítulo 22: Componente FLVPlayback . . . . . . . . . . . . . . . . . . 533
Utilización del componente FLVPlayback. . . . . . . . . . . . . . . . . . . . . . .535
Utilización de puntos de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
Reproducción de varios archivos FLV . . . . . . . . . . . . . . . . . . . . . . . . . 550
Flujo de archivos FLV de un servidor FMS . . . . . . . . . . . . . . . . . . . . . .553
Personalización del componente FLVPlayback. . . . . . . . . . . . . . . . . 554
Clase FLVPlayback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .570
Clase VideoError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .738
Clase VideoPlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .747
Utilización de un archivo SMIL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .753
Capítulo 23: Clase FocusManager . . . . . . . . . . . . . . . . . . . . . . . .763
Utilización de Focus Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .764
Personalización de Focus Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . .767
Clase FocusManager (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .768
FocusManager.defaultPushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . .772
FocusManager.defaultPushButtonEnabled . . . . . . . . . . . . . . . . . . . . . 773
FocusManager.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
FocusManager.getFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .774
FocusManager.nextTabIndex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .775
FocusManager.sendDefaultPushButtonEvent() . . . . . . . . . . . . . . . . . 776
FocusManager.setFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Capítulo 24: Clase Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .779
Utilización de la clase Form. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .780
Clase Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
Form.currentFocusedForm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .788
Form.getChildForm() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .788
Form.indexInParentForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .789
12 Contenido
Form.numChildForms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
Form.parentIsForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
Form.parentForm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .791
Form.rootForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Form.visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
Capítulo 25: Interfaz Iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
Iterator.hasNext() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
Iterator.next(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
Capítulo 26: Componente Label . . . . . . . . . . . . . . . . . . . . . . . . . 799
Utilización del componente Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
Personalización del componente Label . . . . . . . . . . . . . . . . . . . . . . . . 802
Clase Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
Label.autoSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
Label.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
Label.text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
Capítulo 27: Componente List. . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
Utilización del componente List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .813
Personalización del componente List . . . . . . . . . . . . . . . . . . . . . . . . . . .817
Clase List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
List.addItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
List.addItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
List.cellRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .831
List.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .831
List.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
List.getItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
List.hPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
List.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
List.iconField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
List.iconFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
List.itemRollOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
List.itemRollOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .841
List.labelField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
List.labelFunction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
List.length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845
List.maxHPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
List.multipleSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
List.removeAll(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
List.removeItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
Contenido 13
List.replaceItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
List.rowCount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
List.rowHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .852
List.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .853
List.selectable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .855
List.selectedIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .856
List.selectedIndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .857
List.selectedItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .858
List.selectedItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .859
List.setPropertiesAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
List.sortItems() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
List.sortItemsBy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .862
List.vPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .864
List.vScrollPolicy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .865
Capítulo 28: Componente Loader . . . . . . . . . . . . . . . . . . . . . . . .867
Utilización del componente Loader. . . . . . . . . . . . . . . . . . . . . . . . . . . . .868
Personalización del componente Loader . . . . . . . . . . . . . . . . . . . . . . . 871
Clase Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .872
Loader.autoLoad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
Loader.bytesLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
Loader.bytesTotal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .878
Loader.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .879
Loader.content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .880
Loader.contentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
Loader.load() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .882
Loader.percentLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .883
Loader.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .884
Loader.scaleContent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .886
Capítulo 29: Componentes Media . . . . . . . . . . . . . . . . . . . . . . . .887
Interacción con los componentes multimedia. . . . . . . . . . . . . . . . . . . .888
Aspectos básicos de los componentes multimedia. . . . . . . . . . . . . . 890
Utilización de componentes multimedia. . . . . . . . . . . . . . . . . . . . . . . . .893
Parámetros del componente multimedia . . . . . . . . . . . . . . . . . . . . . . . 902
Creación de aplicaciones con componentes multimedia . . . . . . . . . 906
Personalización de los componentes multimedia . . . . . . . . . . . . . . . 906
Clase Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .907
Media.activePlayControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912
Media.addCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913
Media.aspectRatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914
14 Contenido
Media.associateController(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .915
Media.associateDisplay() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .916
Media.autoPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
Media.autoSize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .918
Media.backgroundStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .919
Media.bytesLoaded. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
Media.bytesTotal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .921
Media.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922
Media.click. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
Media.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
Media.contentPath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
Media.controllerPolicy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
Media.controlPlacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
Media.cuePoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
Media.cuePoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929
Media.displayFull(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
Media.displayNormal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .931
Media.getCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932
Media.horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
Media.mediaType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
Media.pause() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935
Media.play(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
Media.playheadChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937
Media.playheadTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
Media.playing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
Media.preferredHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940
Media.preferredWidth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .941
Media.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .941
Media.scrubbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
Media.removeAllCuePoints(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
Media.removeCuePoint() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
Media.setMedia() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
Media.stop(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
Media.totalTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
Media.volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
Media.volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
Capítulo 30: Componente Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 951
Interacción con el componente Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 952
Utilización del componente Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
Tipos de elementos de menú. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956
Propiedades de objeto de inicialización . . . . . . . . . . . . . . . . . . . . . . . . 959
Contenido 15
Parámetros de Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960
Creación de aplicaciones con el componente Menu. . . . . . . . . . . . . . 961
Personalización del componente Menu . . . . . . . . . . . . . . . . . . . . . . . . 965
Clase Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .970
Menu.addMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .975
Menu.addMenuItemAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
Menu.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .979
Menu.createMenu(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981
Menu.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .982
Menu.getMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 984
Menu.hide(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .985
Menu.indexOf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .986
Menu.menuHide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .988
Menu.menuShow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990
Menu.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992
Menu.removeMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
Menu.removeMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
Menu.rollOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .997
Menu.rollOver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
Menu.setMenuItemEnabled() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
Menu.setMenuItemSelected() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1002
Menu.show(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1004
Clase MenuDataProvider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1005
MenuDataProvider.addMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . . . .1006
MenuDataProvider.addMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . .1008
MenuDataProvider.getMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . . . . . 1010
MenuDataProvider.indexOf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1011
MenuDataProvider.removeMenuItem() . . . . . . . . . . . . . . . . . . . . . . . . 1013
MenuDataProvider.removeMenuItemAt() . . . . . . . . . . . . . . . . . . . . . . 1014
Capítulo 31: Componente MenuBar . . . . . . . . . . . . . . . . . . . . . . 1017
Interacción con el componente MenuBar . . . . . . . . . . . . . . . . . . . . . . 1018
Utilización del componente MenuBar. . . . . . . . . . . . . . . . . . . . . . . . . . 1018
Personalización del componente MenuBar . . . . . . . . . . . . . . . . . . . . 1021
Clase MenuBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1024
MenuBar.addMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1029
MenuBar.addMenuAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
MenuBar.dataProvider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1032
MenuBar.getMenuAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1034
MenuBar.getMenuEnabledAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1035
MenuBar.labelField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1036
MenuBar.labelFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037
16 Contenido
MenuBar.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
MenuBar.removeMenuAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039
MenuBar.setMenuEnabledAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
Capítulo 32: Componente NumericStepper . . . . . . . . . . . . . . 1043
Utilización del componente NumericStepper . . . . . . . . . . . . . . . . . . 1044
Personalización del componente NumericStepper . . . . . . . . . . . . . 1046
Clase NumericStepper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050
NumericStepper.change. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
NumericStepper.maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057
NumericStepper.minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058
NumericStepper.nextValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059
NumericStepper.previousValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060
NumericStepper.stepSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1061
NumericStepper.value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
Capítulo 33: Clase PopUpManager . . . . . . . . . . . . . . . . . . . . . 1063
PopUpManager.createPopUp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064
PopUpManager.deletePopUp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
Capítulo 34: Componente ProgressBar. . . . . . . . . . . . . . . . . . .1067
Utilización del componente ProgressBar . . . . . . . . . . . . . . . . . . . . . . 1068
Personalización del componente ProgressBar . . . . . . . . . . . . . . . . . 1073
Clase ProgressBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076
ProgressBar.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080
ProgressBar.conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1082
ProgressBar.direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083
ProgressBar.indeterminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084
ProgressBar.label. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085
ProgressBar.labelPlacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
ProgressBar.maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088
ProgressBar.minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089
ProgressBar.mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
ProgressBar.percentComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1092
ProgressBar.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093
ProgressBar.setProgress() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095
ProgressBar.source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
ProgressBar.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098
Capítulo 35: Componente RadioButton. . . . . . . . . . . . . . . . . . . 1101
Utilización del componente RadioButton. . . . . . . . . . . . . . . . . . . . . . . 1102
Personalización del componente RadioButton. . . . . . . . . . . . . . . . . .1104
Contenido 17
Clase RadioButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109
RadioButton.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115
RadioButton.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117
RadioButton.groupName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118
RadioButton.label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119
RadioButton.labelPlacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120
RadioButton.selected. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122
RadioButton.selectedData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
RadioButton.selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124
Capítulo 36: Componente RadioButtonGroup . . . . . . . . . . . . . 1127
Capítulo 37: Componente RDBMSResolver . . . . . . . . . . . . . . . 1129
Utilización del componente RDBMSResolver . . . . . . . . . . . . . . . . . . 1130
Clase RDBMSResolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133
RDBMSResolver.addFieldInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135
RDBMSResolver.beforeApplyUpdates . . . . . . . . . . . . . . . . . . . . . . . . 1136
RDBMSResolver.deltaPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1137
RDBMSResolver.fieldInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138
RDBMSResolver.nullValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139
RDBMSResolver.reconcileResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139
RDBMSResolver.reconcileUpdates. . . . . . . . . . . . . . . . . . . . . . . . . . . 1140
RDBMSResolver.tableName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1142
RDBMSResolver.updateMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143
RDBMSResolver.updatePacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
RDBMSResolver.updateResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
Capítulo 38: Clase RectBorder . . . . . . . . . . . . . . . . . . . . . . . . . . 1145
Utilización de estilos con la clase RectBorder . . . . . . . . . . . . . . . . . . 1146
Creación de una implementación personalizada
de RectBorder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148
Capítulo 39: Clase Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
Carga de contenido externo en pantallas. . . . . . . . . . . . . . . . . . . . . . . 1154
Clase Screen (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157
Screen.allTransitionsInDone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
Screen.allTransitionsOutDone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165
Screen.currentFocusedScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166
Screen.getChildScreen(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1167
Screen.indexInParent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
Screen.mouseDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169
Screen.mouseDownSomewhere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170
18 Contenido
Screen.mouseMove. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1171
Screen.mouseOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172
Screen.mouseOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173
Screen.mouseUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174
Screen.mouseUpSomewhere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175
Screen.numChildScreens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176
Screen.parentIsScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177
Screen.parentScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178
Screen.rootScreen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178
Capítulo 40: Componente ScrollPane . . . . . . . . . . . . . . . . . . . . 1179
Utilización del componente ScrollPane . . . . . . . . . . . . . . . . . . . . . . . .1180
Personalización del componente ScrollPane . . . . . . . . . . . . . . . . . . . 1183
Clase ScrollPane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185
ScrollPane.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1190
ScrollPane.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191
ScrollPane.contentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
ScrollPane.getBytesLoaded(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1194
ScrollPane.getBytesTotal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1195
ScrollPane.hLineScrollSize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196
ScrollPane.hPageScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197
ScrollPane.hPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198
ScrollPane.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199
ScrollPane.progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200
ScrollPane.refreshPane() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202
ScrollPane.scroll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203
ScrollPane.scrollDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206
ScrollPane.vLineScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207
ScrollPane.vPageScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208
ScrollPane.vPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209
ScrollPane.vScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1210
Capítulo 41: Clase SimpleButton. . . . . . . . . . . . . . . . . . . . . . . . . 1211
SimpleButton.click. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216
SimpleButton.emphasized. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1218
SimpleButton.emphasizedStyleDeclaration . . . . . . . . . . . . . . . . . . . . 1219
SimpleButton.selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1219
SimpleButton.toggle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220
Contenido 19
Capítulo 42: Clase Slide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1221
Utilización de la clase Slide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223
Clase Slide (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1224
Slide.autoKeyNav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1233
Slide.currentChildSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234
Slide.currentFocusedSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1235
Slide.currentSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1235
Slide.defaultKeydownHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1236
Slide.firstSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238
Slide.getChildSlide(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1239
Slide.gotoFirstSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1240
Slide.gotoLastSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1241
Slide.gotoNextSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1243
Slide.gotoPreviousSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1245
Slide.gotoSlide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
Slide.hideChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1249
Slide.indexInParentSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1250
Slide.lastSlide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251
Slide.nextSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1252
Slide.numChildSlides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253
Slide.overlayChildren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1253
Slide.parentIsSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1255
Slide.parentSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256
Slide.playHidden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1256
Slide.previousSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257
Slide.revealChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1258
Slide.rootSlide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1259
Capítulo 43: Clase StyleManager. . . . . . . . . . . . . . . . . . . . . . . . 1261
StyleManager.registerColorName() . . . . . . . . . . . . . . . . . . . . . . . . . . .1262
StyleManager.registerColorStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . .1263
StyleManager.registerInheritingStyle(). . . . . . . . . . . . . . . . . . . . . . . . .1264
Capítulo 44: Clase SystemManager . . . . . . . . . . . . . . . . . . . . .1265
SystemManager.screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1266
Capítulo 45: Componente TextArea. . . . . . . . . . . . . . . . . . . . . . 1267
Utilización del componente TextArea. . . . . . . . . . . . . . . . . . . . . . . . . .1268
Personalización del componente TextArea. . . . . . . . . . . . . . . . . . . . . .1271
Clase TextArea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274
TextArea.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279
20 Contenido
TextArea.editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282
TextArea.hPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283
TextArea.hScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284
TextArea.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285
TextArea.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286
TextArea.maxChars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1287
TextArea.maxHPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1288
TextArea.maxVPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289
TextArea.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290
TextArea.restrict. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1292
TextArea.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1293
TextArea.styleSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1296
TextArea.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297
TextArea.vPosition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298
TextArea.vScrollPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299
TextArea.wordWrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1300
Capítulo 46: Componente TextInput . . . . . . . . . . . . . . . . . . . . . 1301
Utilización del componente TextInput . . . . . . . . . . . . . . . . . . . . . . . . . 1302
Personalización del componente TextInput . . . . . . . . . . . . . . . . . . . . 1304
Clase TextInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307
TextInput.change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312
TextInput.editable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1314
TextInput.enter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315
TextInput.hPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317
TextInput.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318
TextInput.maxChars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1319
TextInput.maxHPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1320
TextInput.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1321
TextInput.restrict. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322
TextInput.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1324
Capítulo 47: Interfaz TransferObject . . . . . . . . . . . . . . . . . . . . 1325
TransferObject.clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1326
TransferObject.getPropertyData() . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1327
TransferObject.setPropertyData() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328
Capítulo 48: Clase TransitionManager. . . . . . . . . . . . . . . . . . . 1329
Utilización de la clase TransitionManager. . . . . . . . . . . . . . . . . . . . . . 1329
Resumen de la clase TransitionManager . . . . . . . . . . . . . . . . . . . . . . . 1331
TransitionManager.allTransitionsInDone . . . . . . . . . . . . . . . . . . . . . . 1332
Contenido 21
TransitionManager.allTransitionsOutDone . . . . . . . . . . . . . . . . . . . . .1334
TransitionManager.content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1335
TransitionManager.contentAppearance . . . . . . . . . . . . . . . . . . . . . . . 1336
TransitionManager.start() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337
TransitionManager.startTransition() . . . . . . . . . . . . . . . . . . . . . . . . . . .1339
TransitionManager.toString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1340
Clases basadas en transiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1341
Capítulo 49: Interfaz TreeDataProvider. . . . . . . . . . . . . . . . . . .1349
TreeDataProvider.addTreeNode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351
TreeDataProvider.addTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . .1352
TreeDataProvider.attributes.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1353
TreeDataProvider.attributes.label . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1353
TreeDataProvider.getTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . .1354
TreeDataProvider.removeTreeNode() . . . . . . . . . . . . . . . . . . . . . . . . .1355
TreeDataProvider.removeTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . 1356
Capítulo 50: Componente Tree. . . . . . . . . . . . . . . . . . . . . . . . . . 1357
Utilización del componente Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1358
Personalización del componente Tree . . . . . . . . . . . . . . . . . . . . . . . . . 1366
Clase Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1372
Tree.addTreeNode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379
Tree.addTreeNodeAt(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1381
Tree.dataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1383
Tree.firstVisibleNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1384
Tree.getDisplayIndex(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1385
Tree.getIsBranch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1387
Tree.getIsOpen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1388
Tree.getNodeDisplayedAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1389
Tree.getTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1390
Tree.nodeClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1391
Tree.nodeOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1393
Tree.refresh() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1395
Tree.removeAll() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1396
Tree.removeTreeNodeAt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1398
Tree.selectedNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1399
Tree.selectedNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1400
Tree.setIcon() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1401
Tree.setIsBranch(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1402
Tree.setIsOpen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1404
22 Contenido
Capítulo 51: Clase Tween. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1405
Utilización de la clase Tween. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1408
Aplicación de métodos de suavizado a componentes. . . . . . . . . . . .1410
Tween.continueTo(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1415
Tween.duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416
Tween.fforward() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416
Tween.finish. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1417
Tween.FPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418
Tween.nextFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1419
Tween.onMotionChanged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1421
Tween.onMotionFinished. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1422
Tween.onMotionResumed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1423
Tween.onMotionStarted. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424
Tween.onMotionStopped. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1425
Tween.position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1426
Tween.prevFrame() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427
Tween.resume() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428
Tween.rewind() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1429
Tween.start() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1431
Tween.stop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1432
Tween.time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1433
Tween.toString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1434
Tween.yoyo(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1435
Capítulo 52: Clase UIComponent . . . . . . . . . . . . . . . . . . . . . . . .1437
Clase UIComponent (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1438
UIComponent.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1441
UIComponent.focusIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1441
UIComponent.focusOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1443
UIComponent.getFocus(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1444
UIComponent.keyDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1445
UIComponent.keyUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1446
UIComponent.setFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1447
UIComponent.tabIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1447
Capítulo 53: Clase UIEventDispatcher. . . . . . . . . . . . . . . . . . . 1449
UIEventDispatcher.keyDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1450
UIEventDispatcher.keyUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1451
UIEventDispatcher.load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1451
UIEventDispatcher.mouseDown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1452
UIEventDispatcher.mouseOut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1452
Contenido 23
UIEventDispatcher.mouseOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1453
UIEventDispatcher.mouseUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1453
UIEventDispatcher.removeEventListener() . . . . . . . . . . . . . . . . . . . .1454
UIEventDispatcher.unload. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1454
Capítulo 54: Clase UIObject . . . . . . . . . . . . . . . . . . . . . . . . . . . .1455
UIObject.bottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1458
UIObject.createClassObject(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1458
UIObject.createLabel(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1459
UIObject.createObject(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1461
UIObject.destroyObject(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1462
UIObject.doLater() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1463
UIObject.draw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1464
UIObject.getStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1465
UIObject.height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1466
UIObject.hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1467
UIObject.invalidate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1468
UIObject.left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1469
UIObject.load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1469
UIObject.move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1471
UIObject.move(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1472
UIObject.redraw() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1473
UIObject.resize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1474
UIObject.reveal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1475
UIObject.right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476
UIObject.scaleX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1477
UIObject.scaleY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1477
UIObject.setSize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478
UIObject.setSkin(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479
UIObject.setStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1480
UIObject.top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1482
UIObject.unload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1482
UIObject.visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1484
UIObject.width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1484
UIObject.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485
UIObject.y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485
Capítulo 55: Componente UIScrollBar . . . . . . . . . . . . . . . . . . . 1487
Utilización del componente UIScrollBar . . . . . . . . . . . . . . . . . . . . . . . 1487
Personalización del componente UIScrollBar . . . . . . . . . . . . . . . . . . 1491
Clase UIScrollBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1494
24 Contenido
UIScrollBar.horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1499
UIScrollBar.lineScrollSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1500
UIScrollBar.pageScrollSize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1501
UIScrollBar.scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1502
UIScrollBar.scrollPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1505
UIScrollBar.setScrollProperties(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1507
UIScrollBar.setScrollTarget() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1508
UIScrollBar._targetInstanceName . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1509
Capítulo 56: Clases de servicios Web . . . . . . . . . . . . . . . . . . . . .1511
Disponibilidad de las clases de servicio Web en tiempo
de ejecución. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512
Clase Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512
Constructor de la clase Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1514
Log.getDateString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1515
Log.logInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1516
Log.logDebug(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1517
Log.level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1518
Log.name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519
Log.onLog(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1520
Clase PendingCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1521
PendingCall.getOutputParameter() . . . . . . . . . . . . . . . . . . . . . . . . . . . 1523
PendingCall.getOutputParameterByName() . . . . . . . . . . . . . . . . . . . 1524
PendingCall.getOutputParameters() . . . . . . . . . . . . . . . . . . . . . . . . . . 1525
PendingCall.getOutputValue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1526
PendingCall.getOutputValues() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1527
PendingCall.myCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1528
PendingCall.onFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1528
PendingCall.onResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1530
PendingCall.request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1531
PendingCall.response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1531
Clase SOAPCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1532
SOAPCall.concurrency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1533
SOAPCall.doDecoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1533
SOAPCall.doLazyDecoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1534
Clase WebService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1534
Tipos compatibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1536
Seguridad de WebService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1539
Constructor de la clase WebService . . . . . . . . . . . . . . . . . . . . . . . . . . 1539
WebService.getCall() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1541
WebService.myMethodName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1542
WebService.onFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1543
WebService.onLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1545
Contenido 25
Capítulo 57: Componente WebServiceConnector . . . . . . . . . . 1547
Utilización del componente WebServiceConnector . . . . . . . . . . . . . 1547
Clase WebServiceConnector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1550
WebServiceConnector.multiple
SimultaneousAllowed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1552
WebServiceConnector.operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1553
WebServiceConnector.params . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1554
WebServiceConnector.result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1555
WebServiceConnector.results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1556
WebServiceConnector.send. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1557
WebServiceConnector.status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1558
WebServiceConnector.suppress
InvalidCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1561
WebServiceConnector.trigger(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1563
WebServiceConnector.WSDLURL . . . . . . . . . . . . . . . . . . . . . . . . . . .1564
Capítulo 58: Componente Window . . . . . . . . . . . . . . . . . . . . . .1565
Utilización del componente Window. . . . . . . . . . . . . . . . . . . . . . . . . . .1566
Personalización del componente Window . . . . . . . . . . . . . . . . . . . . .1569
Clase Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1573
Window.click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1578
Window.closeButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1580
Window.complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1581
Window.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1583
Window.contentPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1584
Window.deletePopUp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1585
Window.mouseDownOutside. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1586
Window.title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1588
Window.titleStyleDeclaration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1589
Capítulo 59: Componente XMLConnector . . . . . . . . . . . . . . . . 1591
Utilización del componente XMLConnector . . . . . . . . . . . . . . . . . . . . 1591
Clase XMLConnector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1594
XMLConnector.direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1595
XMLConnector.ignoreWhite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1596
XMLConnector.multipleSimultaneousAllowed. . . . . . . . . . . . . . . . . . 1597
XMLConnector.params . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1598
XMLConnector.result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1599
XMLConnector.results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1600
XMLConnector.send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1601
XMLConnector.status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1602
26 Contenido
XMLConnector.suppressInvalidCalls. . . . . . . . . . . . . . . . . . . . . . . . . . 1604
XMLConnector.trigger() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1605
XMLConnector.URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1607
Capítulo 60: Clase XPathAPI . . . . . . . . . . . . . . . . . . . . . . . . . . 1609
Capítulo 61: Componente XUpdateResolver . . . . . . . . . . . . . . . .1611
Utilización del componente XUpdateResolver . . . . . . . . . . . . . . . . . . 1612
Clase XUpdateResolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1615
XUpdateResolver.beforeApplyUpdates . . . . . . . . . . . . . . . . . . . . . . . . 1616
XUpdateResolver.deltaPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1617
XUpdateResolver.includeDeltaPacketInfo. . . . . . . . . . . . . . . . . . . . . . 1618
XUpdateResolver.reconcileResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1618
XUpdateResolver.updateResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1619
XUpdateResolver.xupdatePacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1620
Índice alfabético. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1621
Contenido 27
28 Contenido
CAPÍTULO 1

Componentes ActionScript 2.0

La Referencia del lenguaje de componentes ActionScript 2.0 describe cada uno de los componentes disponibles en la versión 2 de la arquitectura de componentes de Adobe, así como su interfaz de programación de aplicaciones (API). Para aprender a utilizar, personalizar y crear componentes en la versión 2, consulte Utilización de componentes ActionScript 2.0.
NOTA
Adobe Flash CS3 Professional incluye componentes ActionScript 2.0 y componentes ActionScript 3.0. Estos dos conjuntos de componentes no se pueden mezclar. Debe utilizarse uno de los dos conjuntos en una aplicación concreta. Flash CS3 presenta componentes ActionScript 2.0 o componentes ActionScript 3.0 en función de si se abre un archivo de ActionScript 2.0 o de ActionScript 3.0. Al crear un nuevo documento de Flash CS3, debe elegirse entre Archivo de Flash (ActionScript 3.0) o Archivo de Flash (ActionScript 2.0). Cuando se abre un documento existente, Flash examina la Configuración de publicación para determinar el conjunto de componentes que se debe utilizar. Para obtener información sobre los componentes ActionScript 3.0, consulte Utilización de componentes ActionScript 3.0.
En este manual, la descripción de cada componente contiene la siguiente información:
Interacción con el teclado
Previsualización dinámica
Accesibilidad
Configuración de los parámetros del componente
Utilización del componente en una aplicación
Personalización del componente con estilos y aspectos
Métodos, propiedades y eventos de ActionScript
Los componentes se presentan en orden alfabético, pero en las tablas siguientes están clasificados por categorías.
Este capítulo contiene las siguientes secciones:
Tipos de componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Otras listas de este manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1
29
Tipos de componentes
En las siguientes tablas se enumeran los distintos componentes de la versión 2, organizados por categorías.

Componentes de interfaz de usuario (IU)

Componente Descripción
Conjunto de vistas verticales superpuestas con botones en la parte superior que permiten a los usuarios cambiar de vista.
Componente Alert Ventana que presenta un mensaje y botones para capturar la
respuesta de los usuarios.
Componente Button Botón que puede cambiarse de tamaño y personalizarse con
un icono personalizado.
Componente CheckBox Permite realizar una elección booleana (true o false).
Componente ComboBox Permite seleccionar una opción en una lista de
desplazamiento con distintas opciones. Este componente puede tener un campo de texto seleccionable en la parte superior de la lista que permita a los usuarios buscar en la lista.
Componente DataGrid Permite a los usuarios mostrar y manipular varias
columnas de datos.
Componente DateChooser Permite a los usuarios seleccionar una o más fechas de un
calendario.
Componente DateField Campo de texto no seleccionable con un icono de calendario.
Cuando un usuario hace clic en el recuadro de delimitación de un componente, Flash muestra un componente DateChooser.
Componente Label Campo de texto no editable de una línea.
Componente List Permite seleccionar una o varias opciones en una lista de
desplazamiento.
Componente Loader Contenedor de un cargador de archivos SWF o JPEG.
Componente Menu Menú de aplicación de escritorio estándar; permite a los
usuarios seleccionar un comando de una lista.
Componente MenuBar Barra horizontal de menús.
Componente NumericStepper
Componente ProgressBar Muestra el progreso de un proceso, como una operación
Cuadro de texto con flechas en las que puede hacer clic para incrementar o disminuir un valor numérico.
de carga.
30 Componentes ActionScript 2.0
Componente Descripción
Componente RadioButton Permite seleccionar entre opciones que se excluyen entre sí.
Componente ScrollPane Muestra clips de película, mapas de bits y archivos SWF en un
área limitada con barras de desplazamiento automático.
Componente TextArea Campo de texto de varias líneas opcionalmente editable.
Componente TextInput Campo de texto de una línea opcionalmente editable.
Componente Tree Permite manipular información jerárquica.
Componente Window Ventana que se puede arrastrar, con una barra de título, texto,
borde, un botón Cerrar y área de presentación de contenido.
Componente UIScrollBar Permite añadir una barra de desplazamiento a un campo
de texto.

Gestión de datos

Componente Descripción
Clases de vinculación de datos
Componente DataHolder Almacena información y puede utilizarse como conector entre
Interfaz API de DataProvider
Componente DataSet Bloque para crear aplicaciones gestionadas por datos.
Componente RDBMSResolver
Clases de servicios Web Clases que permiten el acceso a los servicios Web que usan
Componente WebServiceConnector
Componente XMLConnector
Componente XUpdateResolver
Clases que implementan la funcionalidad de vinculación de datos en tiempo de ejecución de Flash.
componentes.
Modelo para listas de acceso lineal de datos; ofrece capacidades básicas de manipulación de matrices que difunden cambios de datos.
Permite guardar datos en cualquier origen de datos admitido. Este componente convierte los datos XML que se pueden recibir y analizar mediante un servicio Web, JavaBean, servlet o página ASP.
SOAP (Simple Object Access Protocol). Estas clases están en el paquete mx.services.
Proporciona acceso sin script a llamadas de método de servicio Web.
Lee y escribe documentos XML mediante los métodos
POST de HTTP.
Permite guardar datos en cualquier origen de datos admitido. Este componente convierte el paquete delta en XUpdate.
GET y
Tipos de componentes 31

Componentes multimedia

Componente Descripción
Componente FLVPlayback
Componente MediaController
Componente MediaDisplay
Componente MediaPlayback
Permite incluir fácilmente un reproductor de vídeo en la aplicación Flash para reproducir vídeo transmitido de forma progresiva a través de HTTP, desde Flash Video Streaming Service (FVSS) o desde Flash Media Server (FMS).
Controla la reproducción de flujo de medios en una aplicación (consulte “Componentes Media” en la página 887).
Muestra los flujos de medios en una aplicación (consulte
“Componentes Media” en la página 887).
Combinación de componentes MediaDisplay y MediaController (consulte “Componentes Media” en
la página 887).

Administradores

Clase Descripción
Clase DepthManager Administra la profundidad de apilamiento de los objetos.
Clase FocusManager Gestiona el desplazamiento entre componentes mediante la
tecla Tabulador. También maneja los cambios de selección cada vez que el usuario hace clic en la aplicación.
Clase PopUpManager Permite crear y eliminar ventanas emergentes.
Clase StyleManager Permite registrar estilos y administra los estilos heredados.
Clase SystemManager Permite gestionar la activación de una ventana de nivel
superior.
Clase TransitionManager Permite administrar efectos de animación en diapositivas y
clips de película.

Pantallas

Clase Descripción
Clase Form Permite manipular pantallas de aplicación de formulario en
tiempo de ejecución.
Clase Screen Clase base para las clases Slide y Form.
Clase Slide Permite manipular pantallas de presentación de diapositivas
en tiempo de ejecución.
32 Componentes ActionScript 2.0

Otras listas de este manual

En este manual también se describen varias clases y API que no están incluidas en las categorías de componentes enumeradas en la sección anterior. Estas clases y API se enumeran en la siguiente tabla.
Elemento Descripción
Interfaz API CellRenderer Conjunto de propiedades y métodos que los componentes
basados en listas (List, DataGrid, Tree, Menu y ComboBox) usan para manipular y mostrar contenido de celda personalizado para cada una de sus filas.
Interfaz Collection Permite administrar un grupo de elementos relacionados,
denominados elementos de colección. Cada elemento de colección de este conjunto tiene propiedades que se describen en los metadatos de la definición de clase del elemento de colección.
Clase DataGridColumn Permite crear objetos para usarlos como columnas de una
cuadrícula de datos.
Clase Delegate Permite ejecutar una función pasada desde un objeto a otro
en el contexto del primer objeto.
Interfaz Delta Proporciona acceso a los cambios de objeto de transferencia,
colección y nivel de objeto de transferencia.
Clase DeltaItem Proporciona información sobre una operación individual
realizada en un objeto de transferencia.
Interfaz DeltaPacket Junto con la interfaz Delta y la clase DeltaItem, permite
gestionar los cambios realizados en los datos.
Clase EventDispatcher Permite añadir y eliminar detectores de eventos para que el
código pueda reaccionar correctamente a los eventos.
Interfaz Iterator Permite recorrer los objetos de una colección.
Clase MenuDataProvider Permite que instancias de XML asignadas a una propiedad
Menu.dataProvider usen métodos y propiedades para
manipular sus propios datos así como las vistas de menú asociadas.
Clase RectBorder Describe los estilos usados para controlar los bordes de
componentes.
Otras listas de este manual 33
Elemento Descripción
Clase SimpleButton Permite controlar algunos aspectos de la apariencia y el
comportamiento de un botón.
Interfaz TransferObject Define un conjunto de métodos que los elementos
administrados por el componente DataSet deben implementar.
Interfaz TreeDataProvider Conjunto de propiedades y métodos usados para crear XML
para la propiedad
Clase Tween Permite utilizar el código ActionScript para mover, cambiar el
tamaño y desvanecer clips de película fácilmente en el escenario.
Clase UIComponent Proporciona métodos, propiedades y eventos que permiten a
los componentes compartir comportamientos comunes.
Clase UIEventDispatcher Permite a los componentes emitir determinados eventos.
Esta clase se añade a la clase UIComponent.
Clase UIObject Clase base de todos los componentes.
Tree.dataProvider.
34 Componentes ActionScript 2.0
CAPÍTULO 2

Componente Accordion

El componente Accordion es un navegador que contiene una secuencia de elementos secundarios que se muestran de uno en uno. Los elementos secundarios deberán ser objetos que hereden de la clase UIObject (que incluye todos los componentes); en la mayoría de los casos, los elementos secundarios son una subclase de la clase View. Esto incluye clips de película asignados con la clase mx.core.View. Para mantener el orden de tabulación en los elementos secundarios de Accordion, éstos deben ser también instancias de la clase View.
NOTA
El componente Accordion sólo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuración de publicación.
Un componente Accordion crea y administra botones de encabezado en los que un usuario puede hacer clic para desplazarse por los elementos secundarios del componente. Tiene un diseño vertical con botones de encabezado que abarcan la anchura del componente. Hay un encabezado asociado con cada elemento secundario y cada encabezado pertenece al componente Accordion, no al elemento secundario correspondiente. Cuando un usuario hace clic en un encabezado, se muestra el elemento secundario asociado debajo de dicho encabezado. La transición al nuevo elemento secundario utiliza una animación de transición.
2
35
Un componente Accordion con elementos secundarios acepta una selección y cambia el aspecto de sus encabezados para mostrarla. Cuando el usuario usa el tabulador para desplazarse hasta un componente Accordion, el encabezado seleccionado muestra el indicador de selección. Un componente Accordion que no tenga elementos secundarios no aceptará selecciones. Al hacer clic en componentes seleccionables dentro del elemento secundario seleccionado, dichos componentes quedarán seleccionados. Cuando la instancia de Accordion esté seleccionada, podrá controlarla con las teclas siguientes:
Tecla Descripción
Flecha abajo, flecha derecha
Flecha arriba, flecha izquierda
Fin Selecciona el último elemento secundario.
Intro/Espacio Selecciona el elemento secundario asociado con el encabezado
Inicio Selecciona el primer elemento secundario.
Av Pág Selecciona el siguiente elemento secundario. La selección recorre
Re Pág Selecciona el elemento secundario anterior. La selección recorre
Mayús+ Desplaza la selección al componente anterior. Este componente
Desplaza la selección al siguiente encabezado de elemento secundario. La selección recorre los encabezados de elementos secundarios desde el último al primero sin cambiar el elemento secundario seleccionado.
Desplaza la selección al encabezado del elemento secundario anterior. La selección recorre los encabezados de los elementos secundarios desde el primero al último sin cambiar el elemento secundario seleccionado.
que está seleccionado.
los elementos secundarios desde el último al primero.
los elementos secundarios desde el primero al último.
puede estar dentro del elemento secundario seleccionado o fuera del componente Accordion; nunca será otro encabezado en el mismo Accordion.
Desplaza la selección al componente siguiente. Este componente puede estar dentro del elemento secundario seleccionado o fuera del componente Accordion; nunca será otro encabezado en el mismo Accordion.
Los lectores de pantalla no pueden acceder al componente Accordion.
36 Componente Accordion

Utilización del componente Accordion

Puede utilizar el componente Accordion para presentar formularios de varias partes. Por ejemplo, un componente Accordion con tres elementos secundarios puede presentar formularios para que el usuario escriba su dirección de envío y facturación e información de pago para una transacción de comercio electrónico. Con un Accordion en lugar de varias páginas Web, se minimiza el tráfico en el servidor, lo que permite al usuario optimizar el progreso y la navegabilidad de la aplicación.

Parámetros de Accordion

A continuación se indican los parámetros de edición que se pueden definir para cada instancia del componente Accordion en el inspector de propiedades o el inspector de componentes (opción de menú Ventana > Inspector de componentes):
childIcons es una matriz que especifica los identificadores de vinculación de los símbolos de
biblioteca que se utilizarán como iconos de los encabezados del componente Accordion. El valor predeterminado es
childLabels es una matriz que especifica las etiquetas de texto que se deben usar en los
encabezados del componente Accordion. El valor predeterminado es
childNames es una matriz que especifica los nombres de instancia de los elementos
secundarios del componente Accordion. Los valores que escriba serán los nombres de instancia para los símbolos de elementos secundarios que especifique en el parámetro childSymbols. El valor predeterminado es
childSymbols es una matriz que especifica los identificadores de vinculación de los símbolos
de biblioteca que se utilizarán para crear los elementos secundarios del componente Accordion. El valor predeterminado es
A continuación se indican los parámetros adicionales que se pueden definir para cada instancia del componente Accordion en el inspector componentes (Ventana > Inspector de componentes):
enabled es un valor booleano que indica si el componente acepta selecciones y entradas.
El valor predeterminado es
visible es un valor booleano que indica si el objeto es visible (true) o no (false).
El valor predeterminado es
[] (matriz vacía).
[] (matriz vacía).
[] (matriz vacía).
[] (matriz vacía).
true.
true.
Utilización del componente Accordion 37
NOTA
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamaño. Se definen en UIObject y se sustituyen por distintos componentes según convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseño personalizado en la aplicación. De lo contrario, establecer estas propiedades en el inspector de componentes no producirá ningún efecto visible.
Puede escribir código ActionScript para controlar otras opciones del componente Accordion utilizando sus propiedades, métodos y eventos. Para más información, consulte “Clase
Accordion” en la página 48.

Creación de una aplicación con el componente Accordion

En este ejemplo, un desarrollador de aplicaciones está creando la sección de finalización de compra de una tienda en línea. El diseño requiere un componente Accordion con tres formularios donde el usuario introduce una dirección de envío, una dirección de facturación y la información de pago. Los formularios de dirección de envío y dirección de facturación son idénticos.
Para añadir un componente Accordion a una aplicación:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo Flash (ActionScript 2.0).
2. Seleccione Insertar > Nuevo símbolo y asígnele el nombre AddressForm.
3. Si no se muestra la vista avanzada, haga clic en el botón Avanzado.
4. Seleccione Exportar para ActionScript. En el campo Clase, introduzca mx.core.View,
y haga clic en Aceptar. Para mantener el orden de tabulación en los elementos secundarios del componente
Accordion, éstos deben ser también instancias de la clase View.
5. Arrastre componentes como Label y TextInput desde el panel Componentes al escenario
para crear un formulario con una dirección ficticia; organícelos y defina sus parámetros en el inspector de propiedades.
Disponga los elementos del formulario con respecto al punto 0,0 (la parte central) del escenario. La coordenada 0,0 del clip de película se coloca en la esquina superior izquierda del componente Accordion.
6. Seleccione Edición > Editar documento para volver a la línea de tiempo principal.
7. Repita los pasos del 2 al 6 para crear un clip de película denominado CheckoutForm.
8. Arrastre un componente Accordion desde el panel Componentes para añadirlo al escenario
en la línea de tiempo principal.
38 Componente Accordion
9. En el inspector de propiedades, siga este procedimiento:
Introduzca el nombre de instancia my_acc.
Para la propiedad childSymbols, introduzca AddressForm, AddressForm y
CheckoutForm. Estas cadenas especifican los nombres de los clips de película utilizados para crear los
elementos secundarios del componente Accordion.
NOTA
Los dos primeros elementos secundarios son instancias del mismo clip de película, ya que el formulario con la dirección de envío y el formulario con la dirección de facturación son idénticos.
Para la propiedad childNames, introduzca shippingAddress, billingAddress y
checkout.
Estas cadenas son los nombres ActionScript de los elementos secundarios del componente Accordion.
Para la propiedad childLabels, introduzca Shipping Address, Billing Address y
Checkout.
Estas cadenas son las etiquetas de texto de los encabezados del componente Accordion.
Para la propiedad childIcons, introduzca AddressIcon, AddressIcon y
CheckoutIcon.
Estas cadenas especifican los identificadores de vinculación de los símbolos de clip de película que se utilizan como iconos de los encabezados del componente Accordion. Debe crear estos símbolos de clips de película si desea iconos en los encabezados.
10. Seleccione Control > Probar película.
Para utilizar código ActionScript con el fin de añadir elementos secundarios a un componente Accordion:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo Flash (ActionScript 2.0).
2. Arrastre un componente Accordion desde el panel Componentes al escenario.
3. En el inspector de propiedades, introduzca el nombre de instancia my_acc.
4. Arrastre un componente TextInput a la biblioteca.
De este modo, se añade el componente a la biblioteca para que pueda crear dinámicamente una instancia del mismo en el step 6.
Utilización del componente Accordion 39
5. En el panel Acciones, en el fotograma 1 de la línea de tiempo, introduzca lo siguiente
(este código llama al método createChild() para crear sus vistas secundarias):
import mx.core.View;
// Crear paneles secundarios para que cada formulario aparezca en el // objeto 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.
En el panel Acciones, en el fotograma 1, bajo el código que se introdujo en el paso 5, introduzca el siguiente código (este código añade dos instancias del componente TextInput a los elementos secundarios del componente Accordion):
// Crear entrada de texto secundaria para el panel shippingAddress. var firstNameChild_obj:Object =
my_acc.shippingAddress.createChild("TextInput", "firstName", {text:
"First Name"});
// Establecer la posición de la entrada de texto. firstNameChild_obj.move(10, 38); firstNameChild_obj.setSize(110, 20);
// Crear otra entrada de texto secundaria. var lastNameChild_obj:Object =
my_acc.shippingAddress.createChild("TextInput", "lastName", {text:
"Last Name"});
// Establecer la posición de la entrada de texto. lastNameChild_obj.move(150, 38); lastNameChild_obj.setSize(140, 20);
40 Componente Accordion

Personalización del componente Accordion

El componente Accordion puede transformarse horizontal o verticalmente durante la edición y en tiempo de ejecución. Durante la edición, seleccione el componente en el escenario y utilice la herramienta Transformación libre o cualquiera de los comandos Modificar > Transformar. En tiempo de ejecución, utilice el método
UIObject.setSize()).
El método
setSize() y la herramienta Transformación sólo cambian la anchura de los
encabezados del componente Accordion y la anchura y altura de su área de contenido. La altura de los encabezados y la anchura y altura de los elementos secundarios no se ven afectados. Llamar al método
setSize() es la única forma de cambiar el rectángulo de
delimitación de un componente Accordion. Si los encabezados son demasiado pequeños para contener los textos de etiqueta, éstas se
recortan. Si el área de contenido de un componente Accordion es más pequeña que un elemento secundario, éste se recorta.

Utilización de estilos con el componente Accordion

Es posible definir propiedades de estilo para cambiar el aspecto del borde y el fondo de un componente Accordion.
Un componente Accordion utiliza los siguientes estilos:
setSize() (consulte
Estilo Tema Descripción
themeColor
backgroundColor
borderStyle
headerHeight
color
Halo Esquema de colores base de un componente. Es el único
estilo de color que no hereda su valor. Los valores posibles
haloGreen”, “haloBlue” y “haloOrange”.
son “
Ambos Color del fondo. El color predeterminado es blanco.
Ambos El componente Accordion utiliza una instancia de
RectBorder como borde y responde a los estilos definidos en dicha clase. Para más información, consulte “Clase
RectBorder” en la página 1145.
El valor predeterminado del estilo de borde del componente Accordion es “
Ambos Altura de los botones del encabezado, expresada en píxeles.
El valor predeterminado es 22.
Ambos Color del texto. El valor predeterminado es 0x0B333C para
el tema Halo y en blanco para el tema Sample.
solid”.
Personalización del componente Accordion 41
Estilo Tema Descripción
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textDecoration
openDuration
openEasing
Ambos Color del texto cuando el componente está desactivado.
El color predeterminado es 0x848384 (gris oscuro).
Ambos Valor booleano que indica si la fuente especificada en
fontFamily es una fuente incorporada. Este estilo debe
definirse como fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como hace referencia a una fuente incorporada, no se muestra ningún texto. El valor predeterminado es
Ambos Nombre de fuente para las etiquetas del encabezado.
El valor predeterminado es
Ambos Tamaño en puntos para la fuente de las etiquetas del
encabezado. El valor predeterminado es 10.
Ambos Estilo de fuente para las etiquetas de encabezado. Puede ser
“normal” o “italic”. El valor predeterminado es “normal”.
Ambos Grosor de fuente para las etiquetas de encabezado. Puede
“none” o “bold”. El valor predeterminado es “none”.
ser Todos los componentes pueden aceptar además el valor
“normal” en lugar de “none” durante una llamada a setStyle(), pero las llamadas posteriores a getStyle()
devolverán
“none”.
Ambos Decoración del texto. Puede ser “none” o “underline”.
Ambos Duración, en milisegundos, de la animación de transición.
Ambos Referencia a una función de interpolación que controla la
animación. De forma predeterminada es una función sinusoidal entrante/saliente. Para más información, consulte “Personalización de animaciones de componentes” en Utilización de componentes ActionScript 2.0.
true si fontFamily hace referencia a una
true y fontFamily no
false.
“_sans”.
Así, por ejemplo, el siguiente código establece como cursiva el aspecto del estilo de la fuente de una instancia de Accordion denominada my_acc:
my_acc.setStyle("fontStyle", "italic");
Si el nombre de una propiedad de estilo termina por “Color”, significa que es una propiedad de estilo de color y se comporta de forma diferente a las que no lo son. Para más información, consulte “Utilización de estilos para personalizar el texto y el color de un componente” en Utilización de componentes ActionScript 2.0.
42 Componente Accordion

Utilización de aspectos con el componente Accordion

El componente Accordion utiliza aspectos para representar los estados visuales de sus botones de encabezado. Para aplicar un aspecto a los botones y la barra de título durante la edición, modifique los símbolos del aspecto en la carpeta de estados de aspecto Flash UI Components 2/Themes/MMDefault/Accordion Assets de la biblioteca de uno de los archivos FLA de temas. Para más información, consulte “Aplicación de aspectos a los componentes” en Utilización de componentes ActionScript 2.0.
Un componente Accordion consta de un borde, fondo, botones de encabezado y elementos secundarios. El borde y el fondo los proporciona la clase RectBorder de manera predeterminada. Para más información sobre la aplicación de aspectos en la clase RectBorder, consulte “Clase RectBorder” en la página 1145. Puede aplicar a los encabezados los aspectos enumerados a continuación.
Propiedad Descripción Valor
predeterminado
falseUpSkin
falseDownSkin
falseOverSkin
falseDisabled
trueUpSkin
trueDownSkin
trueOverSkin
trueDisabledSkin
Estado arriba (normal) del encabezado sobre todos los elementos secundarios contraídos.
Estado presionado del encabezado sobre todos los elementos secundarios contraídos.
Estado del encabezado sobre todos los elementos secundarios contraídos al desplazar el puntero del ratón sobre él.
Estado desactivado del encabezado sobre todos los elementos secundarios contraídos.
Estado arriba (normal) del encabezado sobre el elemento secundario expandido.
Estado presionado del encabezado sobre el elemento secundario expandido.
Estado del encabezado sobre el elemento secundario expandido al desplazar el puntero del ratón sobre él.
Estado desactivado del encabezado sobre el elemento secundario expandido.
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
accordionHeaderSkin
Personalización del componente Accordion 43
Utilización de ActionScript para dibujar el encabezado del componente Accordion
Los encabezados predeterminados de los temas Halo y Sample usan el mismo elemento de aspecto para todos los estados y dibujan los gráficos mediante ActionScript. La implementación de Halo utiliza una extensión de la clase RectBorder y código personalizado de la API de dibujo para dibujar los estados. En la implementación de Sample se utiliza el mismo aspecto y la misma clase de ActionScript que en el aspecto del componente Button.
Para crear una clase de ActionScript con el fin de usarla como aspecto y proporcionar distintos estados, el aspecto puede leer la propiedad de estilo En la tabla siguiente, se muestra el estilo de borde que se establece para cada aspecto:
Propiedad Estilo del borde
falseUpSkin falseup
falseDownSkin falsedown
falseOverSkin falserollover
falseDisabled falsedisabled
trueUpSkin trueup
trueDownSkin truedown
trueOverSkin truerollover
trueDisabledSkin truedisabled
borderStyle para determinar el estado.
44 Componente Accordion
Para crear un aspecto personalizado del encabezado de Accordion mediante ActionScript:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo ActionScript.
2. Copie el siguiente código ActionScript al archivo:
import mx.skins.RectBorder; import mx.core.ext.UIObjectExtensions;
class RedGreenBlueHeader extends RectBorder { static var symbolName_str:String = "RedGreenBlueHeader"; static var symbolOwner_obj:Object = RedGreenBlueHeader;
function size():Void { var color_num:Number; // Color var borderStyle_str:String = getStyle("borderStyle");
// Atributo de Accordion
// Definir los colores de cada ficha en el componente Accordion para
// cada estado de ficha. 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; }
// Borrar estilo predeterminado y dibujar estilo personalizado. clear(); lineStyle(0, 0, 100); beginFill(color_num, 100); drawRect(0, 0, __width, __height); endFill(); }
// requerido para los aspectos static function classConstruct():Boolean { UIObjectExtensions.Extensions();
Personalización del componente Accordion 45
_global.skinRegistry["AccordionHeaderSkin"] = true; return true; } static var classConstructed_bl:Boolean = classConstruct(); static var UIObjectExtensionsDependency_obj:Object =
UIObjectExtensions; }
Esta clase crea un cuadrado con el estilo de borde: un cuadro de color azul para los estados seleccionable, puntero del ratón encima y desactivado, un cuadro de color verde para el estado presionado normal, y un cuadro de color rojo para el elemento secundario expandido.
3. Guarde el archivo.
Para este ejemplo, asigne al archivo el nombre RedGreenBlueHeader.as.
4. Seleccione Archivo > Nuevo y, a continuación, Archivo Flash (ActionScript 2.0).
5. Guarde el archivo en la misma carpeta que el archivo AS.
6. Seleccione Insertar > Nuevo símbolo y asígnele el nombre AccordionHeaderSkin.
7. Si no se muestra la vista avanzada, haga clic en el botón Avanzado.
8. Seleccione Exportar para ActionScript.
El identificador se rellenará automáticamente con
9. Establezca la clase en RedGreenBlueHeader.
10. Verifique que Exportar en primer fotograma esté seleccionado y haga clic en Aceptar.
11. En la Escena 1, arrastre un componente Accordion al escenario.
12. Establezca las propiedades del componente Accordion de forma que se muestren varios
AccordionHeaderSkin.
elementos secundarios. Por ejemplo, establezca
childNames como una matriz de [one,two,three].
13. Seleccione Control > Probar película.
childLabels como una matriz de [One,Two,Three] y
Utilización de clips de película para personalizar el aspecto del encabezado de Accordion
En el ejemplo anterior se ilustra la forma de usar una clase de ActionScript 2.0 para personalizar el aspecto del encabezado del componente Accordion, que es el método usado por los aspectos proporcionados en los temas Halo y Sample. Sin embargo, como el ejemplo utiliza cuadros coloreados sencillos, en este caso es más fácil usar distintos símbolos de clip de película como aspectos de encabezado.
46 Componente Accordion
Para crear símbolos de clip de película para los aspectos de encabezado del componente Accordion:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo Flash (ActionScript 2.0).
2. Cree un nuevo símbolo seleccionando Insertar > Nuevo símbolo.
3. Asígnele el nombre RedAccordionHeaderSkin.
4. Si no se muestra la vista avanzada, haga clic en el botón Avanzado.
5. Seleccione Exportar para ActionScript.
El identificador se rellenará automáticamente con
6. Deje vacío en cuadro de texto Clase.
7. Verifique que Exportar en primer fotograma esté seleccionado y haga clic en Aceptar.
8. Abra el símbolo nuevo para editarlo.
9. Utilice las herramientas de dibujo para crear un cuadro con relleno en rojo y línea negra.
10. Establezca un estilo de borde muy fino.
11. Defina el cuadro, incluido el borde, para que se posicione en (0,0) y tenga una anchura de
RedAccordionHeaderSkin.
100 y una altura de 100. El código ActionScript cambiará el tamaño del aspecto si es necesario.
12. Repita los pasos 2 a 11, cree aspectos de color verde y azul, y asígneles los nombres
correspondientes.
13. Haga clic en el botón Atrás para volver a la línea de tiempo principal.
14. Arrastre un componente Accordion al escenario.
15. Establezca las propiedades del componente Accordion de forma que se muestren varios
elementos secundarios. Por ejemplo, establezca
childNames como una matriz de [one,two,three].
16. Copie el siguiente código ActionScript al panel Acciones con la instancia de Accordion
childLabels como una matriz de [One,Two,Three] y
seleccionada:
onClipEvent(initialize) {
falseUpSkin = "RedAccordionHeaderSkin";
falseDownSkin = "GreenAccordionHeaderSkin";
falseOverSkin = "RedAccordionHeaderSkin";
falseDisabled = "RedAccordionHeaderSkin";
trueUpSkin = "BlueAccordionHeaderSkin";
trueDownSkin = "BlueAccordionHeaderSkin";
trueOverSkin = "BlueAccordionHeaderSkin";
trueDisabledSkin = "BlueAccordionHeaderSkin"; }
17.
Seleccione Control > Probar película.
Personalización del componente Accordion 47

Clase Accordion

Herencia MovieClip > Clase UIObject > Clase UIComponent > View > Accordion Nombre de clase de ActionScript mx.containers.Accordion
Un componente Accordion contiene elementos secundarios que se muestran de uno en uno. Cada elemento secundario tiene su correspondiente botón de encabezado que se crea cuando se crea el elemento secundario. Un elemento secundario debe ser una instancia de UIObject.
NOTA
El componente Accordion sólo es compatible si está trabajando con un documento de ActionScript 2.0.
Un símbolo de clip de película se convierte automáticamente en una instancia de la clase UIObject cuando pasa a ser un elemento secundario de un componente Accordion. Sin embargo, para mantener el orden de tabulación en los elementos secundarios del componente Accordion, éstos deben ser también instancias de la clase View. Si utiliza un símbolo de clip de película como elemento secundario, defina el campo Clase como mx.core.View para que herede de la clase View.
Si una propiedad de la clase Accordion se define mediante código ActionScript, sustituye al parámetro del mismo nombre definido en el inspector de propiedades o el inspector de componentes.
Cada clase de componente tiene una propiedad propiedades de clase sólo están disponibles en la propia clase. La propiedad una cadena que indica la versión del componente. Para acceder a esta propiedad, utilice el código siguiente:
trace(mx.containers.Accordion.version);
NOTA
El código trace(my_accInstance.version); devuelve undefined.
version que es una propiedad de clase. Las
version devuelve
48 Componente Accordion

Resumen de métodos de la clase Accordion

En la tabla siguiente, se enumeran los métodos de la clase Accordion.
Método Descripción
Accordion.createChild() Crea un elemento secundario para una instancia de
Accordion.
Accordion.createSegment() Crea un elemento secundario para una instancia de
Accordion. Los parámetros para este método son diferentes de los del método
Accordion.destroyChildAt() Elimina un elemento secundario en una posición
especificada de índice.
Accordion.getChildAt() Obtiene una referencia a un elemento secundario en una
posición especificada de índice.
Accordion.getHeaderAt() Obtiene una referencia a un objeto de encabezado en una
posición especificada de índice.
Métodos heredados de la clase UIObject
En la tabla siguiente, se enumeran los métodos que hereda la clase Accordion de la clase UIObject. Al llamar a estos métodos desde el objeto Accordion, debe utilizarse la forma
accordionInstance.methodName.
Método Descripción
UIObject.createClassObject() Crea un objeto en la clase especificada. UIObject.createObject() Crea un subobjeto en un objeto. UIObject.destroyObject() Elimina una instancia de componente. UIObject.doLater() Llama a una función cuando se han establecido parámetros
en el inspector de propiedades y el inspector de componentes.
UIObject.getStyle() Obtiene la propiedad de estilo de la declaración de estilo o
del objeto.
UIObject.invalidate() Marca el objeto de forma que se pueda volver a dibujar en el
siguiente intervalo de fotogramas.
UIObject.move() Mueve el objeto a la posición indicada. UIObject.redraw() Fuerza la validación del objeto, de forma que se pueda
dibujar sobre el fotograma actual.
UIObject.setSize() Cambia el tamaño del objeto al indicado.
createChild().
Clase Accordion 49
Método Descripción
UIObject.setSkin() Define un aspecto en el objeto. UIObject.setStyle() Define la propiedad de estilo en la declaración de estilo o en
el objeto.
Métodos heredados de la clase UIComponent
En la tabla siguiente, se enumeran los métodos que hereda la clase Accordion de la clase UIComponent. Al llamar a estos métodos desde el objeto Accordion, debe utilizarse la forma
accordionInstance.methodName.
Método Descripción
UIComponent.getFocus() Devuelve una referencia al objeto seleccionado. UIComponent.setFocus() Define la selección en la instancia de componente.

Resumen de propiedades de la clase Accordion

En la tabla siguiente, se enumeran las propiedades de la clase Accordion.
Propiedad Descripción
Accordion.numChildren Número de elementos secundarios de una instancia de
Accordion.
Accordion.selectedChild Referencia al elemento secundario seleccionado. Accordion.selectedIndex Posición de índice del elemento secundario seleccionado.
Propiedades heredadas de la clase UIObject
En la tabla siguiente, se enumeran las propiedades que hereda la clase Accordion de la clase UIObject. Al acceder a estas propiedades debe utilizarse la forma
accordionInstance.propertyName.
Propiedad Descripción
UIObject.bottom Sólo lectura; posición del borde inferior del objeto con
respecto al borde inferior de su elemento principal correspondiente.
UIObject.height Sólo lectura; altura del objeto, expresada en píxeles. UIObject.left Sólo lectura; borde izquierdo del objeto, expresado en
píxeles.
50 Componente Accordion
Propiedad Descripción
UIObject.right Sólo lectura; posición del borde derecho del objeto con
respecto al borde derecho de su elemento principal correspondiente.
UIObject.scaleX Número que indica el factor de escala en la dirección x del
objeto con respecto a su elemento principal correspondiente.
UIObject.scaleY Número que indica el factor de escala en la dirección y del
objeto con respecto a su elemento principal correspondiente.
UIObject.top Sólo lectura; posición del borde superior del objeto con
respecto a su elemento principal correspondiente.
UIObject.visible Valor booleano que indica si el objeto es visible (true) o no
(
false).
UIObject.width Sólo lectura; anchura del objeto, expresada en píxeles. UIObject.x Sólo lectura; borde izquierdo del objeto, expresado en
píxeles.
UIObject.y Sólo lectura; borde superior del objeto, expresado en píxeles.
Propiedades heredadas de la clase UIComponent
En la tabla siguiente, se enumeran las propiedades que hereda la clase Accordion de la clase UIComponent. Al acceder a estas propiedades debe utilizarse la forma
accordionInstance.propertyName.
Propiedad Descripción
UIComponent.enabled Indica si el componente puede recibir selecciones y entradas.
UIComponent.tabIndex Número que indica el orden de tabulación para un
componente de un documento.
Clase Accordion 51

Resumen de eventos de la clase Accordion

En la tabla siguiente, se muestra un evento de la clase Accordion.
Evento Descripción
Accordion.change Se difunde a todos los detectores registrados cuando cambian
los valores de las propiedades de un componente Accordion porque un usuario hace clic en el botón del ratón o pulsa una tecla.
Eventos heredados de la clase UIObject
En la tabla siguiente, se enumeran los eventos que hereda la clase Accordion de la clase UIObject.
Evento Descripción
UIObject.draw Se difunde cuando un objeto está a punto de dibujar sus
gráficos.
UIObject.hide Se difunde cuando el estado de un objeto pasa de ser visible a
invisible.
UIObject.load Se difunde cuando se crean subobjetos.
UIObject.move Se difunde cuando se mueve el objeto.
UIObject.resize Se difunde cuando cambia el tamaño de un objeto.
UIObject.reveal Se difunde cuando el estado de un objeto pasa de ser invisible
a visible.
UIObject.unload Se difunde durante la descarga de los subobjetos.
selectedIndex y selectedChild
Eventos heredados de la clase UIComponent
En la tabla siguiente, se enumeran los eventos que hereda la clase Accordion de la clase UIComponent.
Evento Descripción
UIComponent.focusIn Se difunde cuando se selecciona un objeto.
UIComponent.focusOut Se difunde cuando un objeto deja de seleccionarse.
UIComponent.keyDown Se difunde cuando se presiona una tecla.
UIComponent.keyUp Se difunde cuando se suelta una tecla.
52 Componente Accordion

Accordion.change

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Sintaxis 1:
var listenerObject:Object = new Object(); listenerObject.change = function(eventObject:Object) {
// Introducir aquí el código propio. }; accordionInstance.addEventListener("change", listenerObject);
Sintaxis 2:
on (change) {
// Introducir aquí el código propio. }
Descripción
Evento; se difunde a todos los detectores registrados cuando cambian las propiedades
selectedIndex y selectedChild de un componente Accordion. Este evento sólo se difunde
cuando al hacer clic con el ratón o pulsar una tecla se cambia el valor
selectedIndex, no cuando se cambia el valor con ActionScript. Este evento se difunde antes
de que se produzca la animación de transición. Los componentes utilizan un modelo de distribuidor/detector de eventos. El componente
Accordion distribuye un evento
change cuando se hace clic en uno de sus botones y éste se
controla mediante una función (denominada también controlador) asociada con el objeto detector (
listenerObject) que crea el usuario. Llame al método addEventListener() y
pase una referencia al controlador como parámetro. Cuando se activa el evento, éste pasa automáticamente un objeto de evento (
controlador. Cada objeto de evento tiene propiedades que contienen información sobre el evento. Estas propiedades sirven para escribir el código que controla el evento. Para más información, consulte “Clase EventDispatcher” en la página 527.
El evento change del componente Accordion también contiene dos propiedades de objetos de evento únicas:
newValue Número; el índice del elemento secundario que se va a seleccionar.
prevValue Número; el índice del elemento secundario que estaba seleccionado
anteriormente.
selectedChild o
eventObject) al
Accordion.change 53
Ejemplo
En el ejemplo siguiente, se utiliza una instancia de Accordion denominada my_acc que contiene tres paneles secundarios con las etiquetas “Shipping Address”, “Billing Address” y “Payment”. El código define un controlador llamado al método
change captura el objeto de evento en el parámetro eventObject. Cuando se difunde el
evento
// Crear un objeto detector nuevo. var my_accListener:Object = new Object(); my_accListener.change = function() {
trace("Changed to different view");
// Asignar etiqueta de panel secundario a la variable.
var selectedChild_str:String = my_acc.selectedChild.label;
// Llevar a cabo acciones según el elemento secundario seleccionado.
switch (selectedChild_str) {
case "Shipping Address":
case "Billing Address":
case "Payment":
} }; my_acc.addEventListener("change", my_accListener);
my_acc.addEventListener() como el segundo parámetro. El controlador
change, se envía una sentencia trace al panel Salida.
trace("One was selected"); break;
trace("Two was selected"); break;
trace("Three was selected"); break;
my_accListener y pasa el controlador

Accordion.createChild()

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
accordionInstance.createChild(classOrSymbolName, instanceName[,
initialProperties])
54 Componente Accordion
Parámetros
classOrSymbolName La función constructora para la clase de UIObject de la que se va a
crear una instancia o el nombre de vinculación (una referencia al símbolo del que se va a crear una instancia). La clase debe ser UIObject o una subclase de UIObject, pero normalmente es el objeto View o una subclase de View.
instanceName Nombre de la nueva instancia. initialProperties Parámetro opcional que especifica las propiedades iniciales para la
nueva instancia. Puede utilizar las siguientes propiedades:
label Una cadena que especifica la etiqueta de texto que la nueva instancia secundaria
utiliza en su encabezado.
icon Una cadena que especifica el identificador de vinculación del símbolo de biblioteca
que utiliza el elemento secundario para el icono en su encabezado.
Valor devuelto
Referencia a una instancia de UIObject que es el nuevo elemento secundario creado.
Descripción
Método (heredado de View); crea un elemento secundario para el componente Accordion. Este nuevo elemento secundario se añade al final de la lista de elementos secundarios que pertenecen al componente Accordion. Utilice este método para colocar vistas dentro del componente Accordion. El elemento secundario creado es una instancia de la clase o el símbolo de clip de película especificado en el parámetro las propiedades
label e icon para especificar una etiqueta de texto y un icono para el
classOrSymbolName. Puede utilizar
encabezado del componente Accordion asociado para cada elemento secundario del parámetro
initialProperties.
Cuando se crea un elemento secundario se le asigna un número de índice en el orden de creación y la propiedad
numChildren aumenta en una unidad.
Ejemplo
Comience con una instancia de Accordion, denominada my_acc, en el escenario. Añada un símbolo a la biblioteca con el identificador de vinculación
payIcon como icono para el
encabezado secundario. El código siguiente crea un elemento secundario denominado
billing (con la etiqueta “Payment”) que es una instancia de la clase View: var child_obj:Object = my_acc.createChild(mx.core.View, "billing", {label:
"Payment", icon: "payIcon"});
Accordion.createChild() 55
El código siguiente también crea un elemento secundario que es una instancia de la clase View, pero utiliza
import mx.core.View; var child_obj:Object = my_acc.createChild(View, "billing", {label:
"Payment", icon: "payIcon"});
import para establecer una referencia al constructor para la clase View:
O añada un símbolo de clip de película a la biblioteca con el identificador de vinculación
PaymentForm como elemento secundario de Accordion y el siguiente código creará una
instancia de
PaymentForm denominada billing como elemento secundario de my_acc
(este método es útil cuando se carga contenido dinámico en un símbolo de clip de película y, después, se convierte ese símbolo en un elemento secundario de la instancia de Accordion):
var child_obj:Object = my_acc.createChild("PaymentForm", "billing", {label:
"Payment", icon: "payIcon"});
Para ver un ejemplo más complejo, mantenga la instancia de Accordion my_acc en el escenario. Después, arrastre un componente Label y un componente TextInput del panel Componentes a la biblioteca del documento actual (de esta forma tendrá un símbolo de TextInput y un símbolo de Label en la biblioteca). Pegue el siguiente código en el primer fotograma de la línea de tiempo principal (reemplazando cualquier código que pueda existir de ejemplos anteriores). El siguiente código crea un elemento secundario que es una instancia de la clase View denominada
billing y además añade elementos secundarios a billing para
proporcionar etiquetas y campos de entrada de texto para un formulario:
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"}); // Crear etiquetas como elementos secundarios de la instancia de View. 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}); // Crear entradas de texto como elementos secundarios de la instancia de // View. var cardTypeInput_ti:Object = child_obj.createChild(TextInput,
"CardType_ti", {_x:150, _y:50}); var cardNumberInput_ti:Object = child_obj.createChild(TextInput,
"CardNumber_ti", {_x:150, _y:100}); // Rellenar etiquetas. cardType_label.text = "Card Type"; cardNumber_label.text = "Card Number";
56 Componente Accordion

Accordion.createSegment()

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
accordionInstance.createSegment(classOrSymbolName, instanceName[, label[,
icon]])
Parámetros
classOrSymbolName Una referencia a la función constructora para la clase de UIObject de
la que se va a crear una instancia o el nombre de vinculación del símbolo del que se va a crear una instancia. La clase debe ser UIObject o una subclase de UIObject, pero normalmente es el objeto View o una subclase de View.
instanceName Nombre de la nueva instancia. label Una cadena que especifica la etiqueta de texto que la nueva instancia secundaria
utiliza en su encabezado. Este parámetro es opcional.
icon Una cadena de referencia que especifica el identificador de vinculación del símbolo de
biblioteca que utiliza el elemento secundario para el icono en su encabezado. Este parámetro es opcional.
Valor devuelto
Referencia a la nueva instancia UIObject creada.
Descripción
Método; crea un elemento secundario para el componente Accordion. Este nuevo elemento secundario se añade al final de la lista de elementos secundarios que pertenecen al componente Accordion. Utilice este método para colocar vistas dentro del componente Accordion. El elemento secundario creado es una instancia de la clase o el símbolo de clip de película especificado en el parámetro
icon para especificar una etiqueta de texto y un icono para el encabezado del componente
classOrSymbolName. Puede utilizar los parámetros label e
Accordion asociado para cada elemento secundario. El método
createSegment() difiere del método createChild() en que label e icon se
pasan directamente como parámetros, no como propiedades de un parámetro
initalProperties.
Cuando se crea un elemento secundario, se le asigna un número de índice en el orden de creación y la propiedad
numChildren aumenta en una unidad.
Accordion.createSegment() 57
Ejemplo
Comience con una instancia de Accordion, denominada my_acc, en el escenario. Añada un símbolo de clip de película a la biblioteca con el identificador de vinculación
PaymentForm
como elemento secundario de Accordion. A continuación, añada un símbolo a la biblioteca con el identificador de vinculación En el ejemplo siguiente, se crea una instancia del símbolo del clip de película denominado
billing como el último elemento secundario de my_acc con la etiqueta de
payIcon como icono para el encabezado secundario.
PaymentForm
encabezado “Payment” y el icono en la biblioteca:
var child_obj:Object = my_acc.createSegment("PaymentForm", "billing",
"Payment", "payIcon");
El código siguiente crea un elemento secundario que es una instancia de la clase View:
var child_obj:Object = my_acc.createSegment(mx.core.View, "billing",
"Payment", "payIcon");
El código siguiente también crea un elemento secundario que es una instancia de la clase View, pero utiliza
import mx.core.View; var child_obj:Object = my_acc.createSegment(View, "billing", "Payment",
"payIcon");
import para establecer una referencia al constructor para la clase View:
Arrastre un componente Label y un componente TextInput del panel Componentes a la biblioteca del documento actual (de modo que tenga tanto un símbolo de TextInput como un símbolo de Label en la biblioteca). El siguiente código crea un elemento secundario que es una instancia de la clase View denominada
billing para proporcionar etiquetas y campos de entrada de texto para un formulario: import mx.core.View;
import mx.controls.Label; import mx.controls.TextInput; var child_obj:Object = my_acc.createSegment(View, "billing", "Payment",
"payIcon"); // Crear etiquetas como elementos secundarios de la instancia de View. 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}); // Crear entradas de texto como elementos secundarios de la instancia de // View. var cardTypeInput_ti:Object = child_obj.createChild(TextInput,
"CardType_ti", {_x:150, _y:50}); var cardNumberInput_ti:Object = child_obj.createChild(TextInput,
"CardNumber_ti", {_x:150, _y:100}); // Rellenar etiquetas. cardType_label.text = "Card Type"; cardNumber_label.text = "Card Number";
billing y, además, añade elementos secundarios a
58 Componente Accordion

Accordion.destroyChildAt()

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
accordionInstance.destroyChildAt(index)
Parámetros
index Número de índice del elemento secundario del componente Accordion que se debe
eliminar. A cada elemento secundario de un componente Accordion se le asigna un número de índice basado en cero en el orden en el que se creó.
Valor devuelto
Ninguno.
Descripción
Método (heredado de View); elimina uno de los elementos secundarios del componente Accordion. El elemento secundario que se va a eliminar se especifica mediante su índice, que se pasa al método en el parámetro encabezado correspondiente.
Si se selecciona un elemento secundario eliminado, se elige un nuevo elemento secundario. Si hay un elemento secundario a continuación, se selecciona dicho elemento. Si no lo hay, se selecciona el elemento secundario anterior. Si no hay ningún elemento secundario anterior, la selección no se define.
NOTA
Si se llama a destroyChildAt() se disminuye el valor de la propiedad numChildren en una unidad.
index. Al llamar a este método se elimina también el
Accordion.destroyChildAt() 59
Ejemplo
El siguiente código elimina el primer elemento secundario de my_acc cuando se selecciona el tercer elemento secundario:
import mx.core.View;
// Crear paneles secundarios con instancias de la clase 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");
// Crear un objeto detector nuevo. my_accListener = new Object(); my_accListener.change = function() { if ("myMainItem3"){ my_acc.destroyChildAt(0); } };
my_acc.addEventListener("change", my_accListener);
Véase también
Accordion.createChild()

Accordion.getChildAt()

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
accordionInstance.getChildAt(index)
Parámetros
index Número de índice de un elemento secundario del componente Accordion. A cada
elemento secundario de un componente Accordion se le asigna un índice basado en cero en el orden en el que se creó.
Valor devuelto
Referencia a la instancia de UIObject en el índice especificado.
60 Componente Accordion
Descripción
Método; devuelve una referencia al elemento secundario en el índice especificado. A cada elemento secundario del componente Accordion se le asigna un número de índice para su posición. Este número de índice está basado en cero, de modo que el del primer elemento secundario es 0, el del segundo elemento secundario es 1 y así sucesivamente.
Ejemplo
El siguiente código obtiene una referencia al último elemento secundario de my_acc y cambia la etiqueta por “Last Child”:
import mx.core.View;
// Crear paneles secundarios con instancias de la clase 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");
// Obtener referencia para el último objeto secundario. var lastChild_obj:Object = my_acc.getChildAt(my_acc.numChildren - 1); // Cambiar la etiqueta del objeto. lastChild_obj.label = "Last Child";

Accordion.getHeaderAt()

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
accordionInstance.getHeaderAt(index)
Parámetros
index Número de índice de un encabezado del componente Accordion. A cada
encabezado de un componente Accordion se le asigna un índice basado en cero en el orden en el que se creó.
Valor devuelto
Referencia a la instancia de UIObject en el índice especificado.
Accordion.getHeaderAt() 61
Descripción
Método; devuelve una referencia al encabezado en el índice especificado. A cada encabezado del componente Accordion se le asigna un número de índice para su posición. Este número de índice está basado en cero, de modo que el del primer encabezado es 0, el del segundo es 1 y así sucesivamente.
Ejemplo
El siguiente código obtiene una referencia al último encabezado de my_acc y muestra la etiqueta en el panel Salida:
import mx.core.View;
// Crear paneles secundarios para que cada formulario aparezca en el objeto // 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

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
accordionInstance.numChildren
Descripción
Propiedad (heredada de View); indica el número de elementos secundarios (de tipo UIObject) en una instancia de Accordion. Los encabezados no se cuentan como elementos secundarios.
A cada elemento secundario del componente Accordion se le asigna un número de índice para su posición. Este número de índice está basado en cero, de modo que el del primer elemento secundario es 0, el del segundo elemento secundario es 1 y así sucesivamente. El código
my_acc.numChild - 1 siempre hace referencia al último elemento secundario que se ha
añadido a un componente Accordion. Por ejemplo, si hay siete elementos secundarios en un componente Accordion, el último tendrá el índice 6. La propiedad basada en cero, de modo que el valor de
my_acc.numChildren será 7. El resultado de 7 - 1 es
numChildren no está
6, que es el número de índice del último elemento secundario.
62 Componente Accordion
Ejemplo
El siguiente código utiliza numChildren para obtener una referencia al último elemento secundario de
import mx.core.View;
// Crear paneles secundarios con instancias de la clase 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");
// Obtener referencia para el último objeto secundario. var lastChild_obj:Object = my_acc.getChildAt(my_acc.numChildren - 1); // Cambiar la etiqueta del objeto. lastChild_obj.label = "Last Child";
my_acc y cambia la etiqueta por “Last Child”:

Accordion.selectedChild

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
accordionInstance.selectedChild
Descripción
Propiedad; el elemento secundario seleccionado (de tipo UIObject) si existen uno o más elementos secundarios;
undefined si no existe ningún elemento secundario.
Si el componente Accordion tiene elementos secundarios, el código
accordionInstance.selectedChild es equivalente al código accordionInstance.getChildAt(accordionInstance.selectedIndex).
La definición de esta propiedad en un elemento secundario hace que el componente Accordion inicie la animación de transición para visualizar el elemento secundario especificado.
Si se cambia el valor de
selectedChild, también cambia el valor de selectedIndex.
Si el componente Accordion tiene elementos secundarios, el valor predeterminado es
accordionInstance.getChildAt(0). Si el componente Accordion no tiene elementos
secundarios, el valor predeterminado es
undefined.
Accordion.selectedChild 63
Ejemplo
En el ejemplo siguiente, se detecta cuándo se selecciona un elemento secundario y se muestra el orden de dicho elemento en el panel Salida cada vez que se selecciona un encabezado:
// Crear un objeto detector nuevo. var my_accListener:Object = new Object(); my_accListener.change = function() {
trace("Changed to different view");
// Asignar etiqueta de panel secundario a la variable.
var selectedChild_str:String = my_acc.selectedChild.label;
// Llevar a cabo acciones según el elemento secundario seleccionado.
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);
Véase también

Accordion.selectedIndex

Accordion.selectedIndex
Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
accordionInstance.selectedIndex
Descripción
Propiedad; el índice basado en cero del elemento secundario seleccionado en un componente Accordion con uno o más elementos secundarios. Para un componente Accordion que no tiene vistas secundarias, el único valor válido es
64 Componente Accordion
undefined.
A cada elemento secundario del componente Accordion se le asigna un número de índice para su posición. Este número de índice está basado en cero, de modo que el del primer elemento secundario es 0, el del segundo elemento secundario es 1 y así sucesivamente. Los valores válidos de
selectedIndex son 0, 1, 2..., n - 1, donde n es el número de elementos
secundarios. La definición de esta propiedad en un elemento secundario hace que el componente
Accordion inicie la animación de transición para visualizar el elemento secundario especificado.
Si se cambia el valor de
Ejemplo
selectedIndex también se cambia el valor de selectedChild.
En el ejemplo siguiente, se detecta cuándo se selecciona un elemento secundario y se muestra el orden de dicho elemento en el panel Salida cada vez que se selecciona un encabezado:
// Crear un objeto detector nuevo. var my_accListener:Object = new Object(); my_accListener.change = function() {
trace("Changed to different view");
// Asignar etiqueta de panel secundario a la variable.
var selectedChild_num:Number = my_acc.selectedIndex;
// Llevar a cabo acciones según el elemento secundario seleccionado.
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);
Véase también
Accordion.numChildren, Accordion.selectedChild
Accordion.selectedIndex 65
66 Componente Accordion
CAPÍTULO 3

Componente Alert

El componente Alert permite mostrar una ventana con un mensaje para el usuario y botones de respuesta. Esta ventana tiene una barra de título que se puede rellenar con texto, un mensaje que se puede personalizar y botones con etiquetas que se pueden cambiar. Una ventana Alert puede tener cualquier combinación de botones Sí (Yes), No, Aceptar (OK) y Cancelar (Cancel), y puede cambiar las etiquetas de botón mediante las propiedades
Alert.okLabel, Alert.yesLabel, Alert.noLabel y Alert.cancelLabel. No se puede
cambiar el orden de los botones en una ventana Alert; el orden de los botones es siempre Aceptar, Sí, No, Cancelar. Una ventana Alert se cierra cuando un usuario hace clic en cualquiera de los botones de la ventana.
NOTA
El componente Alert sólo es compatible si trabaja con un documento que especifique ActionScript 2.0 en la Configuración de publicación.
3
Para mostrar una ventana Alert, llame al método correctamente, el componente Alert debe estar en la biblioteca. Si arrastra el componente Alert desde el panel Componentes al escenario y después lo elimina, añade el componente a la biblioteca sin que esté visible en el documento.
La previsualización dinámica para el componente Alert es una ventana vacía. Al añadir un componente Alert a una aplicación, puede utilizar el panel Accesibilidad para
hacer que el texto y los botones del componente sean accesibles para los lectores de pantalla. En primer lugar, añada la línea siguiente del código para activar la accesibilidad:
mx.accessibility.AlertAccImpl.enableAccessibility();
SUGERENCIA
La accesibilidad de un componente sólo se activa una vez, sea cual sea su número de instancias.
Alert.show(). Para llamar al método
67

Utilización del componente Alert

Puede utilizar un componente Alert siempre que desee anunciar algo a un usuario. Por ejemplo, puede mostrar una alerta si un usuario no rellena correctamente un formulario, un valor alcanza un precio determinado o si un usuario sale de una aplicación sin guardar la sesión.

Parámetros de Alert

El componente Alert no tiene parámetros de edición. Debe llamar al método Alert.show() de ActionScript para mostrar una ventana Alert. Puede utilizar otras propiedades de ActionScript para modificar la ventana Alert de una aplicación. Para más información, consulte “Clase Alert” en la página 73.

Creación de aplicaciones con el componente Alert

El procedimiento siguiente explica cómo añadir un componente Alert a una aplicación durante la edición. En este ejemplo, el componente Alert aparece cuando un valor alcanza un precio determinado.
Para crear una aplicación con el componente Alert:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo Flash (ActionScript 2.0).
2. Arrastre el componente Alert desde el panel Componentes a la biblioteca del documento
actual. De esta manera, se añade el componente a la biblioteca, aunque éste no se vuelve visible en
la aplicación.
3. En el panel Acciones, especifique el código siguiente en el fotograma 1 de la línea de tiempo
para definir un controlador de eventos para el evento
import mx.controls.Alert;
click:
// Definir la acción tras confirmación de alerta. var myClickHandler:Function = function (evt_obj:Object) { if (evt_obj.detail == Alert.OK) { trace("start stock app"); } };
// Mostrar cuadro de diálogo de alerta. Alert.show("Launch Stock Application?", "Stock Price Alert", Alert.OK |
Alert.CANCEL, this, myClickHandler, "stockIcon", Alert.OK);
68 Componente Alert
Este código crea una ventana Alert con los botones Aceptar y Cancelar. Cuando el usuario hace clic en uno de los botones, Flash llama a la función
myClickHandler indica a Flash que realice un seguimiento de “start stock app” al hacer
myClickHandler. La función
clic en el botón Aceptar.
NOTA
El método Alert.show() incluye un parámetro opcional que muestra un icono en la ventana Alert (en este ejemplo, un icono con el identificador de vinculación “stockIcon”). Para incluir este icono en el ejemplo de prueba, cree un símbolo denominado stockIcon y active Exportar para ActionScript en el cuadro diálogo Propiedades de vinculación o en el cuadro de diálogo Crear un nuevo símbolo. Los gráficos para el símbolo stockIcon deben alinearse en las coordenadas (0,0) del sistema de coordenadas del símbolo.
4. Seleccione Control > Probar película.

Personalización del componente Alert

El componente Alert se sitúa en el centro del componente que se pasó como su parámetro
parent. El elemento principal debe ser un objeto UIComponent. Si es un clip de película,
puede registrar el clip como mx.core.View de forma que herede de UIComponent. La ventana Alert se expande automáticamente de forma horizontal para que quepa el texto del
mensaje o cualquiera de los botones visualizados. Si desea visualizar grandes cantidades de texto, incluya saltos de línea en el texto.
El componente Alert no responde al método
setSize().

Utilización de estilos con el componente Alert

Es posible definir propiedades de estilo para cambiar el aspecto de un componente Alert. Si el nombre de una propiedad de estilo termina por “Color”, significa que es una propiedad de estilo de color y se comporta de forma diferente a las que no lo son. Para más información, consulte “Utilización de estilos para personalizar el texto y el color de un componente” en Utilización de componentes ActionScript 2.0.
Personalización del componente Alert 69
Un componente Alert admite los siguientes estilos:
Estilo Tema Descripción
themeColor
backgroundColor
borderStyle
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textAlign
Halo Esquema de colores base de un componente. Los
valores posibles son
“haloOrange”. El valor predeterminado es “haloGreen”.
Ambos Color del fondo. El color predeterminado es blanco para
el tema Halo y 0xEFEBEF (gris claro) para el tema Sample.
Ambos El componente Alert utiliza una instancia de RectBorder
como borde y responde a los estilos definidos en dicha clase. Para más información, consulte “Clase
RectBorder” en la página 1145.
El componente Alert tiene un valor de específico de “ tema Sample.
Ambos Color del texto. El valor predeterminado es 0x0B333C
para el tema Halo y en blanco para el tema Sample.
Ambos Color del texto cuando el componente está desactivado.
El color predeterminado es 0x848384 (gris oscuro).
Ambos Valor booleano que indica si la fuente especificada en
fontFamily es una fuente incorporada. Este estilo debe
definirse como una fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como
fontFamily no hace referencia a una fuente
incorporada, no se muestra ningún texto. El valor predeterminado es
Ambos Nombre de la fuente del texto. El valor predeterminado
es
“_sans”.
Ambos Tamaño de la fuente en puntos. El valor
predeterminado es 10.
Ambos Estilo de la fuente: puede ser “normal” o “italic”.
El valor predeterminado es
Ambos Grosor de la fuente: puede ser “none” o “bold”. El valor
predeterminado es pueden aceptar además el valor
“none” durante una llamada a setStyle(), pero las
llamadas posteriores a
Ambos Alineación del texto: puede ser “left”, “right” o
“center”. El valor predeterminado es “left”.
“haloGreen”, “haloBlue” y
borderStyle
alert” con el tema Halo y “ouset” con el
true si fontFamily hace referencia a
true y
false.
“normal”.
“none”. Todos los componentes
“normal” en lugar de
getStyle() devolverán “none”.
70 Componente Alert
Estilo Tema Descripción
textDecoration
textIndent
Ambos Decoración del texto: puede ser “none” o “underline”.
El valor predeterminado es
Ambos Número que indica la sangría del texto. El valor
predeterminado es 0.
“none”.
El componente Alert incluye tres categorías distintas de texto. Si establece las propiedades de texto para el componente Alert, proporciona valores predeterminados para las tres categorías, como se indica a continuación:
import mx.controls.Alert; _global.styles.Alert.setStyle("color", 0x000099); Alert.show("This is a test alert", "Title");
Para establecer los estilos de texto para una categoría individualmente, el componente Alert proporciona propiedades estáticas que son referencias a una instancia de CSSStyleDeclaration.
Propiedad estática Texto afectado
buttonStyleDeclaration
messageStyleDeclaration
titleStyleDeclaration
Botón Mensaje Título
En el ejemplo siguiente, se muestra la forma de aplicar cursiva al título de un componente Alert:
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");
Las declaraciones de estilo predeterminadas del título establecen el valor de fontWeight en
“bold”. Si se reemplaza la propiedad titleStyleDeclaration, también se reemplaza este
valor predeterminado, por lo que se debe establecer explícitamente el valor de
“bold” si se desea usar esa configuración.
NOTA
Los estilos de texto establecidos en un componente Alert proporcionan estilos de texto predeterminados a sus componentes mediante herencia de estilos. Para más información, consulte “Definición de estilos heredados en un contenedor” en Utilización de componentes ActionScript 2.0.
Personalización del componente Alert 71
fontWeight en

Utilización de aspectos con el componente Alert

El componente Alert amplía el componente Window y utiliza su aspecto de fondo para el fondo del título, una instancia de la clase RectBorder para el borde y aspectos del componente Button para los estados visuales de sus botones. Para aplicar un aspecto a los botones y la barra de título durante la edición, modifique los símbolos de Flash UI Components 2/Themes/ MMDefault/Window Assets/Elements/TitleBackground y Flash UI Components 2/Themes/ MMDefault/Button Assets/ButtonSkin. Para más información, consulte “Aplicación de aspectos a los componentes” en Utilización de componentes ActionScript 2.0. El borde y el fondo los proporciona la clase RectBorder de manera predeterminada. Para más información sobre la aplicación de aspectos en la clase RectBorder, consulte “Clase RectBorder” en la página 1145.
Un componente Alert utiliza las siguientes propiedades de aspecto para aplicar dinámicamente un aspecto a los botones y a la barra de título.
Propiedad Descripción Valor
predeterminado
buttonUp
buttonUpEmphasized
buttonDown
buttonDownEmphasized
buttonOver
buttonOverEmphasized
titleBackground
Estado sin presionar de los botones. Estado sin presionar del botón
predeterminado. Estado presionado de los botones. Estado presionado del botón
predeterminado. Estado de los botones al desplazar el
puntero del ratón sobre ellos. Estado del botón predeterminado al
desplazar el puntero del ratón sobre él. Barra de título de la ventana.
ButtonSkin
ButtonSkin
ButtonSkin
ButtonSkin
ButtonSkin
ButtonSkin
TitleBackground
Para definir el título de un componente Alert en un símbolo de clip de película personalizado:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo Flash (ActionScript 2.0).
2. Cree un nuevo símbolo seleccionando Insertar > Nuevo símbolo.
3. Asígnele el nombre TitleBackground.
4. Si no se muestra la vista avanzada, haga clic en el botón Avanzado.
5. Seleccione Exportar para ActionScript.
El identificador se rellenará automáticamente con
6. Establezca la Clase con el valor mx.skins.SkinElement.
TitleBackground.
SkinElement es una clase simple que puede utilizarse para todos los elementos de aspecto que no proporcionan su propia implementación de ActionScript. Proporciona el movimiento y las funciones del cambio de tamaño para los componentes.
72 Componente Alert
7. Verifique que Exportar en primer fotograma esté seleccionado y haga clic en Aceptar.
8. Abra el símbolo nuevo para editarlo.
9. Utilice las herramientas de dibujo para crear un cuadro con relleno en rojo y línea negra.
10. Establezca un estilo de borde muy fino.
11. Defina el cuadro, incluido el borde, de forma que se posicione en (0,0) y tenga una anchura
de 100 y una altura de 22. El componente Alert define la anchura adecuada del aspecto, pero utiliza la altura
existente como altura del título.
12. Haga clic en el botón Atrás para volver a la línea de tiempo principal.
13. Arrastre un componente Alert al escenario y elimínelo.
Con esta acción se añade el componente Alert a la biblioteca y está disponible en tiempo de ejecución.
14. Añada código ActionScript a la línea de tiempo principal para crear una instancia de Alert
de ejemplo.
import mx.controls.Alert; Alert.show("This is a skinned Alert component","Title");
15.
Seleccione Control > Probar película.

Clase Alert

Herencia MovieClip > Clase UIObject > Clase UIComponent > View > ScrollView >
Componente Window > Alert
Nombre de clase de ActionScript mx.controls.Alert
Para utilizar el componente Alert, se debe arrastrar un componente Alert al escenario y eliminarlo, de modo que el componente esté en la biblioteca del documento pero no visible en la aplicación. A continuación, se llama a parámetros que añaden un mensaje, una barra de título y botones a la ventana Alert.
Puesto que ActionScript es asíncrono, el componente Alert no produce bloqueos, de modo que las líneas de código ActionScript después de la llamada a inmediatamente. Debe añadir detectores para controlar los eventos cuando un usuario hace clic en un botón y, a continuación, seguir con el código después de que se haya difundido el evento.
NOTA
En entornos operativos donde se produzcan bloqueos (por ejemplo, Microsoft Windows), no se devolverá una llamada a a cabo una acción, como hacer clic en un botón.
Alert.show() para abrir una ventana Alert. Puede pasar a Alert.show()
Alert.show() se ejecutan
click que se difunden
Alert.show() hasta que el usuario haya llevado
Para más información sobre la clase Alert, consulte “Componente Window” en
la página 1565 y “Clase PopUpManager” en la página 1063.
Clase Alert 73

Resumen de métodos de la clase Alert

En la tabla siguiente, se muestra el método de la clase Alert.
Método Descripción
Alert.show() Crea una ventana Alert con parámetros opcionales.
Métodos heredados de la clase UIObject
En la tabla siguiente, se enumeran los métodos que hereda la clase Alert de la clase UIObject.
Método Descripción
UIObject.createClassObject() Crea un objeto en la clase especificada. UIObject.createObject() Crea un subobjeto en un objeto. UIObject.destroyObject() Elimina una instancia de componente.
UIObject.doLater() Llama a una función cuando se han establecido parámetros
en el inspector de propiedades y el inspector de componentes.
UIObject.getStyle() Obtiene la propiedad de estilo de la declaración de estilo o
del objeto.
UIObject.invalidate() Marca el objeto de forma que se pueda volver a dibujar en el
siguiente intervalo de fotogramas.
UIObject.move() Mueve el objeto a la posición indicada. UIObject.redraw() Fuerza la validación del objeto, de forma que se pueda
dibujar sobre el fotograma actual.
UIObject.setSkin() Define un aspecto en el objeto. UIObject.setStyle() Define la propiedad de estilo en la declaración de estilo o en
el objeto.
Métodos heredados de la clase UIComponent
En la tabla siguiente, se enumeran los métodos que hereda la clase Alert de la clase UIComponent.
Método Descripción
UIComponent.getFocus() Devuelve una referencia al objeto seleccionado.
UIComponent.setFocus() Define la selección en la instancia de componente.
74 Componente Alert
Métodos heredados de la clase Window
En la tabla siguiente, se enumeran los métodos que hereda la clase Alert de la clase Window.
Método Descripción
Window.deletePopUp() Elimina una instancia de Window creada por
PopUpManager.createPopUp().

Resumen de propiedades de la clase Alert

En la tabla siguiente, se enumeran las propiedades de la clase Alert.
Propiedad Descripción
Alert.buttonHeight Altura de cada botón, expresada en píxeles. El valor
predeterminado es 22.
Alert.buttonWidth Anchura de cada botón, expresada en píxeles. El valor
predeterminado es 100.
Alert.CANCEL Valor hexadecimal constante que indica si se debe mostrar un
botón Cancelar en la ventana Alert.
Alert.cancelLabel Texto de la etiqueta del botón Cancelar.
Alert.NO Valor hexadecimal constante que indica si se debe mostrar un
botón No en la ventana Alert.
Alert.noLabel Texto de la etiqueta del botón No.
Alert.OK Valor hexadecimal constante que indica si se debe mostrar un
botón Aceptar en la ventana Alert.
Alert.okLabel Texto de la etiqueta del botón Aceptar.
Alert.YES Valor hexadecimal constante que indica si se debe mostrar un
botón Sí en la ventana Alert.
Alert.yesLabel Texto de la etiqueta del botón Sí.
Clase Alert 75
Propiedades heredadas de la clase UIObject
En la tabla siguiente, se enumeran las propiedades que hereda la clase Alert de la clase UIObject. Al llamar a estas propiedades desde el objeto Alert, debe utilizarse la forma
Alert.propertyName.
Propiedad Descripción
UIObject.bottom Sólo lectura; posición del borde inferior del objeto con
respecto al borde inferior de su elemento principal correspondiente.
UIObject.height Sólo lectura; altura del objeto, expresada en píxeles.
UIObject.left Sólo lectura; borde izquierdo del objeto, expresado en píxeles.
UIObject.right Sólo lectura; posición del borde derecho del objeto con
respecto al borde derecho de su elemento principal correspondiente.
UIObject.scaleX Número que indica el factor de escala en la dirección x del
objeto con respecto a su elemento principal correspondiente.
UIObject.scaleY Número que indica el factor de escala en la dirección y del
objeto con respecto a su elemento principal correspondiente.
UIObject.top Sólo lectura; posición del borde superior del objeto con
respecto a su elemento principal correspondiente.
UIObject.visible Valor booleano que indica si el objeto es visible (true) o no
(
false).
UIObject.width Sólo lectura; anchura del objeto, expresada en píxeles.
UIObject.x Sólo lectura; borde izquierdo del objeto, expresado en píxeles.
UIObject.y Sólo lectura; borde superior del objeto, expresado en píxeles.
Propiedades heredadas de la clase UIComponent
En la tabla siguiente, se enumeran las propiedades que hereda la clase Alert de la clase UIComponent. Al llamar a estas propiedades desde el objeto Alert, debe utilizarse la forma
Alert.propertyName.
Propiedad Descripción
UIComponent.enabled Indica si el componente puede recibir selecciones y entradas.
UIComponent.tabIndex Número que indica el orden de tabulación para un
componente de un documento.
76 Componente Alert
Propiedades heredadas de la clase Window
En la tabla siguiente, se enumeran las propiedades que hereda la clase Alert de la clase Window.
Propiedad Descripción
Window.closeButton Indica si la barra de título incluye un botón de cierre (true) o
no (
false).
Window.content Referencia al contenido (clip de película raíz) de la ventana.
Window.contentPath Define el nombre del contenido que ha de aparecer en la
ventana.
Window.title Texto que aparece en la barra de título.
Window.titleStyleDeclaration Declaración de estilos que asigna formato al texto de la
barra de título.

Resumen de eventos de la clase Alert

En la tabla siguiente, se muestra un evento de la clase Alert.
Evento Descripción
Alert.click Se difunde cuando se hace clic en un botón de la
ventana Alert.
Eventos heredados de la clase UIObject
En la tabla siguiente, se enumeran los eventos que hereda la clase Alert de la clase UIObject. Al llamar a estos eventos desde el objeto Alert, debe utilizarse la forma
Evento Descripción
UIObject.draw Se difunde cuando un objeto está a punto de dibujar sus
gráficos.
UIObject.hide Se difunde cuando el estado de un objeto pasa de ser
visible a invisible.
UIObject.load Se difunde cuando se crean subobjetos.
UIObject.move Se difunde cuando se mueve el objeto.
UIObject.resize Se difunde cuando cambia el tamaño de un objeto.
UIObject.reveal Se difunde cuando el estado de un objeto pasa de ser
invisible a visible.
UIObject.unload Se difunde durante la descarga de los subobjetos.
Alert.eventName.
Clase Alert 77
Eventos heredados de la clase UIComponent
En la tabla siguiente, se enumeran los eventos que hereda la clase Alert de la clase UIComponent. Al llamar a estos eventos desde el objeto Alert, debe utilizarse la forma
Alert.eventName.
Evento Descripción
UIComponent.focusIn Se difunde cuando se selecciona un objeto.
UIComponent.focusOut Se difunde cuando un objeto deja de seleccionarse.
UIComponent.keyDown Se difunde cuando se presiona una tecla.
UIComponent.keyUp Se difunde cuando se suelta una tecla.
Eventos heredados de la clase Window
En la tabla siguiente, se enumeran los eventos que hereda la clase Alert de la clase Window.
Evento Descripción
Window.click Se difunde cuando se hace clic en (se suelta) el botón de
cierre.
Window.complete Se difunde cuando se crea una ventana.

Alert.buttonHeight

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.buttonHeight
Descripción
Propiedad (clase); una propiedad de clase (estática) que cambia la altura de los botones. El valor predeterminado es 22.
78 Componente Alert
Ejemplo
Con un componente Alert en la biblioteca, este ejemplo cambia el tamaño de los botones:
import mx.controls.Alert;
// Ajustar tamaños de botón. Alert.buttonHeight = 50; Alert.buttonWidth = 150;
// Mostrar cuadro de diálogo de alerta. Alert.show("Launch Stock Application?", "Stock Price Alert", Alert.OK |
Alert.CANCEL);
Véase también

Alert.buttonWidth

Alert.buttonWidth
Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.buttonWidth
Descripción
Propiedad (clase); una propiedad (estática) de clase que cambia la anchura de los botones. El valor predeterminado es 100.
Ejemplo
Con un componente Alert en la biblioteca, añada este código ActionScript al primer fotograma de la línea de tiempo principal para cambiar el tamaño de los botones:
import mx.controls.Alert;
// Ajustar tamaños de botón. Alert.buttonHeight = 50; Alert.buttonWidth = 150;
// Mostrar cuadro de diálogo de alerta. Alert.show("Launch Stock Application?", "Stock Price Alert", Alert.OK |
Alert.CANCEL);
Véase también
Alert.buttonHeight
Alert.buttonWidth 79

Alert.CANCEL

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.CANCEL
Descripción
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x8. Esta propiedad se puede usar para el parámetro se usa como un valor para el parámetro botón Cancelar en la ventana Alert. Cuando se usa como un valor del parámetro
defaultButton, el botón Cancelar tiene la selección inicial y se activa cuando el usuario
presiona Intro (Windows) o Retorno (Macintosh). Si el usuario presiona el tabulador para llegar a otro botón, se activará dicho botón cuando el usuario presione Intro.
Ejemplo
En el ejemplo siguiente, se usa Alert.CANCEL y Alert.OK como valores para el parámetro
flags y se muestra un componente Alert con un botón Aceptar y un botón Cancelar:
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.OK |
Alert.CANCEL, this);
flags o defaultButton del método Alert.show(). Cuando
flags, esta propiedad indica que se debe mostrar un

Alert.cancelLabel

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.cancelLabel
80 Componente Alert
Descripción
Propiedad (clase); una propiedad (estática) de clase que indica el texto de la etiqueta del botón Cancelar.
Ejemplo
En el ejemplo siguiente, se define la etiqueta del botón Cancel como “cancellation”:
Alert.cancelLabel = "cancellation";

Alert.click

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
var clickHandler:Function = function(eventObject:Object) {
// Introducir aquí el código.
} Alert.show(message[, title[, flags[, parent[, clickHandler[, icon[,
defaultButton]]]]]])
Descripción
Evento; se difunde al detector registrado cuando se hace clic en el botón Aceptar, Sí, No o Cancelar.
Los componentes utilizan un modelo de evento distribuidor/detector. El componente Alert distribuye un evento mediante una función, también denominada controlador, asociada con el objeto detector (
listenerObject) que crea el usuario. Llame al método Alert.show() y pase el nombre del
controlador como parámetro. Cuando se hace clic en un botón de la ventana Alert, se llamará al detector.
Cuando se activa el evento, éste pasa automáticamente un objeto de evento ( controlador. Cada objeto de evento tiene propiedades que contienen información sobre el evento. Estas propiedades sirven para escribir el código que controla el evento. El objeto de evento del evento
Alert.OK, Alert.CANCEL, Alert.YES o Alert.NO, en función del botón en el que se hizo
clic. Para más información, consulte “Clase EventDispatcher” en la página 527.
click cuando se hace clic en uno de sus botones y el evento se controla
eventObject) al
Alert.click tiene una propiedad detail adicional cuyo valor es
Alert.click 81
Ejemplo
Con un componente Alert en la biblioteca, añada este código ActionScript al primer fotograma de la línea de tiempo principal para crear un controlador de eventos denominado
myClickHandler. El controlador de eventos se pasa al método Alert.show() como el quinto
parámetro. El objeto de evento se captura mediante el controlador parámetro una sentencia
Alert.CANCEL) al panel Salida, como se indica a continuación: import mx.controls.Alert;
// Definir acciones de botón. 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; } };
// Mostrar cuadro de diálogo. Alert.show("This is a test of errors", "Error", Alert.OK | Alert.CANCEL,
this, myClickHandler);
evt. A continuación, la propiedad detail del objeto de evento se utiliza dentro de
trace para enviar el nombre del botón en el que se hizo clic (Alert.OK o
myClickHandler en el

Alert.NO

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.NO
82 Componente Alert
Descripción
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x2. Esta propiedad se puede usar para el parámetro se usa como un valor para el parámetro botón No en la ventana Alert. Cuando se usa como un valor del parámetro
flags o defaultButton del método Alert.show(). Cuando
flags, esta propiedad indica que se debe mostrar un
defaultButton,
el botón Cancelar tiene la selección inicial y se activa cuando el usuario presiona Intro (Windows) o Retorno (Macintosh). Si el usuario presiona el tabulador para llegar a otro botón, se activará dicho botón cuando el usuario presione Intro.
Ejemplo
En el ejemplo siguiente, se usa Alert.NO y Alert.YES como valores para el parámetro flags y se muestra un componente Alert con un botón No y un botón Sí:
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.NO |
Alert.YES, this);

Alert.noLabel

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.noLabel
Descripción
Propiedad (clase); una propiedad (estática) de clase que indica el texto de la etiqueta del botón No.
Ejemplo
En el ejemplo siguiente, se define la etiqueta del botón No como “nyet”:
Alert.noLabel = "nyet";
Alert.noLabel 83

Alert.NONMODAL

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.NONMODAL
Descripción
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x8000. Esta propiedad se puede usar para el parámetro indica que una ventana Alert debe ser amodal, lo que permite a los usuarios interactuar con los botones y las instancias situadas por debajo de la ventana que se muestra. De forma predeterminada, las ventanas generadas con los usuarios no pueden hacer clic en nada que no sea la ventana que actualmente está abierta.
Ejemplo
En el siguiente ejemplo se muestran dos instancias del componente Button en el escenario. Si se hace clic en un botón, se abre una ventana modal que impide al usuario hacer clic en más botones hasta que no se cierre la ventana Alert. El segundo botón abre una ventana amodal, lo que permite al usuario seguir haciendo clic en los botones que se encuentran por debajo de la ventana Alert amodal abierta en ese momento. Para probar este ejemplo, añada instancias del componente Alert y del componente Button a la biblioteca del documento actual y añada el siguiente código al fotograma 1 de la línea de tiempo principal:
import mx.controls.Alert;
flags del método Alert.show(). Esta propiedad
Alert.show() son modales, lo que significa que
this.createClassObject(mx.controls.Button, "modal_button", 10, {_x:10,
_y:10}); this.createClassObject(mx.controls.Button, "nonmodal_button", 20, {_x:120,
_y:10});
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); }
84 Componente Alert
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

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.OK
Descripción
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x4. Esta propiedad se puede usar para el parámetro se usa como un valor para el parámetro botón Aceptar en la ventana Alert. Cuando se usa como un valor del parámetro
defaultButton, el botón Aceptar tiene la selección inicial y se activa cuando el usuario
presiona Intro (Windows) o Retorno (Macintosh). Si el usuario presiona el tabulador para llegar a otro botón, se activará dicho botón cuando el usuario presione Intro.
flags o defaultButton del método Alert.show(). Cuando
flags, esta propiedad indica que se debe mostrar un
Ejemplo
En el ejemplo siguiente, se usa Alert.OK y Alert.CANCEL como valores para el parámetro
flags y se muestra un componente Alert con un botón Aceptar y un botón Cancelar:
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.OK |
Alert.CANCEL, this);
Alert.OK 85

Alert.okLabel

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.okLabel
Descripción
Propiedad (clase); una propiedad (estática) de clase que indica el texto de la etiqueta del botón Aceptar.
Ejemplo
En el ejemplo siguiente, se define la etiqueta del botón OK como “okay”:
Alert.okLabel = "okay";

Alert.show()

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.show(message[, title[, flags[, parent[, clickHandler[, icon[,
defaultButton]]]]]])
Parámetros
message Mensaje que se mostrará. title Texto de la barra de título del componente Alert. Este parámetro es opcional; si lo
omite, la barra de título estará vacía.
flags Parámetro opcional que indica los botones que se mostrarán en la ventana Alert.
El valor predeterminado es un valor, separe los valores con el carácter
Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO.
86 Componente Alert
Alert.OK, que muestra un botón Aceptar. Cuando utilice más de
|. Especifique uno o varios de los siguientes valores:
También puede utilizar Alert.NONMODAL para indicar que la ventana Alert no es modal. Una ventana que no es modal permite al usuario interactuar con otras ventanas de la aplicación.
parent Ventana principal del componente Alert. La ventana Alert se centra en la ventana
principal. Utilice el valor
null o undefined para especificar la línea de tiempo _root.
La ventana principal debe ser una subclase de la clase UIComponent, ya sea otro componente de Flash que sea una subclase de UIComponent, o una ventana personalizada que sea una subclase de UIComponent (para más información, consulte “Herencia” en Aprendizaje de ActionScript 2.0en Adobe Flash). Este parámetro es opcional.
clickHandler Controlador para los eventos click difundidos cuando se hace clic en los
botones. Además de las propiedades del objeto del evento click estándar hay una propiedad
detail, que contiene el valor del indicador de botón en el que se ha hecho clic (Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO). Este controlador puede ser una función o un objeto.
Para más información, consulte “Utilización de detectores para gestionar eventos” en Utilización de componentes ActionScript 2.0.
icon Una cadena que es el identificador de vinculación de un símbolo en la biblioteca; este
símbolo se usa como un icono mostrado a la izquierda del texto de alerta. Este parámetro es opcional.
defaultButton Indica el botón que tiene la selección inicial y en el que se hace clic cuando
el usuario presiona Intro (Windows) o Retorno (Macintosh). Si el usuario se desplaza a otro botón mediante el tabulador, se activará dicho botón cuando se presione la tecla Intro.
Este parámetro puede tener uno de estos valores:
Alert.NO.
Alert.OK, Alert.CANCEL, Alert.YES,
Valor devuelto
La instancia de Alert creada.
Descripción
Método (clase); método de clase (estática) que muestra una ventana Alert con un mensaje, un título opcional, botones opcionales y un icono opcional. El título de la alerta aparece en la parte superior de la ventana y se alinea a la izquierda. El icono aparece a la izquierda del texto del mensaje. Los botones aparecen centrados debajo del texto del mensaje y el icono.
Alert.show() 87
Ejemplo
El código siguiente es un sencillo ejemplo de una ventana Alert modal con un botón Aceptar:
mx.controls.Alert.show("Hello, world!");
En el código siguiente, se define un controlador de acciones del ratón que envía un mensaje al panel Salida en el que se indica el botón en el que se ha hecho clic. (Es necesario tener un componente Alert en la biblioteca para que este código muestre una alerta; para añadir el componente a la biblioteca, arrástrelo al escenario y, a continuación, bórrelo):
import mx.controls.Alert;
// Definir acciones de botón. 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); } };
// Mostrar cuadro de diálogo. var dialog_obj:Object = Alert.show("Test Alert", "Test", Alert.OK |
Alert.CANCEL, null, myClickHandler, "testIcon", Alert.OK);

Alert.YES

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.YES
Descripción
Propiedad (constante); una propiedad con el valor hexadecimal constante 0x1. Esta propiedad se puede usar para el parámetro se usa como un valor para el parámetro botón Sí en la ventana Alert. Cuando se usa como un valor del parámetro
flags o defaultButton del método Alert.show(). Cuando
flags, esta propiedad indica que se debe mostrar un
defaultButton, el
botón Sí tiene la selección inicial y se activa cuando el usuario presiona Intro (Windows) o Retorno (Macintosh). Si el usuario presiona el tabulador para llegar a otro botón, se activará dicho botón cuando el usuario presione Intro.
88 Componente Alert
Ejemplo
En el ejemplo siguiente, se usa Alert.NO y Alert.YES como valores para el parámetro flags y se muestra un componente Alert con un botón No y un botón Sí:
import mx.controls.Alert; Alert.show("This is a generic Alert window", "Alert Test", Alert.NO |
Alert.YES, this);

Alert.yesLabel

Disponibilidad
Flash Player 6 (6.0.79.0).
Edición
Flash MX Professional 2004.
Sintaxis
Alert.yesLabel
Descripción
Propiedad (clase); una propiedad (estática) de clase que indica el texto de la etiqueta del botón Sí.
Ejemplo
En el ejemplo siguiente, se define la etiqueta del botón OK como “da”:
Alert.yesLabel = "da";
Alert.yesLabel 89
90 Componente Alert
CAPÍTULO 4

Componente Button

El componente Button es un botón rectangular de la interfaz de usuario que puede cambiarse de tamaño. También se le puede añadir un icono personalizado y cambiar su comportamiento de botón de comando a conmutador. El conmutador permanece presionado cuando se hace clic en él y recupera su estado original al repetirse el clic.
NOTA
El componente Button es compatible tanto con ActionScript 2.0 como con ActionScript 3.0. En este documento, se describe el componente de la versión 2. Si utiliza el componente de la versión 3, consulte “Utilización de Button” en Utilización de componentes ActionScript 3.0.
Un botón puede estar activado o desactivado en una aplicación. Si está desactivado, el botón no recibe la entrada del ratón ni del teclado. Si está activado, el botón se selecciona cuando el usuario hace clic en él o usa el tabulador para llegar hasta él. Cuando una instancia de Button está seleccionada, es posible utilizar las siguientes teclas para controlarla:
Tecla Descripción
Mayús+ Desplaza la selección al objeto anterior.
Barra espaciadora Presiona o libera el componente y activa el evento
Desplaza la selección al objeto siguiente.
Para más información sobre el control de la selección, consulte “Clase FocusManager” en
la página 763 o “Creación de un desplazamiento personalizado de la selección” en Utilización
de componentes ActionScript 2.0. La previsualización dinámica de cada instancia de Button refleja los cambios de parámetros
realizados durante la edición en el inspector de propiedades o el inspector de componentes. Sin embargo, en la previsualización dinámica los iconos personalizados se representan en el escenario con un cuadrado gris.
Cuando se añade el componente Button a una aplicación, es posible utilizar el panel Accesibilidad para que los lectores de pantalla puedan acceder al mismo. En primer lugar, debe añadir la siguiente línea de código:
mx.accessibility.ButtonAccImpl.enableAccessibility();
La accesibilidad de un componente sólo se activa una vez, sea cual sea su número de instancias.
click.
4
91

Utilización del componente Button

Un botón es una parte fundamental de cualquier formulario o aplicación Web. Utilice botones siempre que necesite que el usuario inicie un evento. Por ejemplo, la mayoría de los formularios contienen un botón Enviar. También puede añadir botones Anterior y Siguiente a una presentación.
Para añadir un icono a un botón, es necesario seleccionar o crear un clip de película o un símbolo gráfico para utilizarlo como icono. El símbolo debe registrarse en la posición 0,0 para que el botón tenga el diseño adecuado. Seleccione el símbolo del icono en el panel Biblioteca, abra el cuadro de diálogo Vinculación desde el menú emergente Biblioteca e introduzca un identificador de vinculación. Éste es el valor que debe introducir como parámetro icon en el inspector de propiedades o el inspector de componentes. También puede introducirlo en la propiedad
NOTA
Para designar un botón como el botón de comando predeterminado de una aplicación (el botón que recibe el evento click cuando un usuario presiona Intro), use
FocusManager.defaultPushButton.

Parámetros de Button

A continuación se indican los parámetros de edición que se pueden definir para cada instancia del componente Button en el inspector de propiedades o el inspector de componentes (opción de menú Ventana > Inspector de componentes):
icon añade un icono personalizado al botón. El valor es el identificador de vinculación de un
clip de película o símbolo gráfico de la biblioteca; no hay valor predeterminado.
label define el valor del texto del botón; el valor predeterminado es Button. labelPlacement orienta el texto de la etiqueta del botón con respecto al icono. Este
parámetro puede tener uno de estos cuatro valores: predeterminado es
selected si el valor del parámetro toggle es true, este parámetro especifica si el botón está
presionado (
toggle convierte el botón en un conmutador. Si el valor es true, el botón permanece en el
estado presionado cuando se hace clic en él y recupera el estado sin presionar cuando se vuelve a hacer clic en él. Si el valor es normal. El valor predeterminado es
Button.icon de ActionScript.
Si el icono es más grande que el botón, sobresaldrá por los bordes de éste.
left, right, top o bottom; el valor
right. Para más información, consulte Button.labelPlacement.
true) o no (false). El valor predeterminado es false.
false, el botón se comporta como un botón de comando
false.
92 Componente Button
A continuación se indican los parámetros adicionales que se pueden definir para cada instancia del componente Button en el inspector de componentes (Ventana > Inspector de componentes):
enabled es un valor booleano que indica si el componente acepta selecciones y entradas.
El valor predeterminado es
visible es un valor booleano que indica si el objeto es visible (true) o no (false).
El valor predeterminado es
NOTA
Las propiedades minHeight y minWidth se utilizan en rutinas internas de cambio de tamaño. Se definen en UIObject y se sustituyen por distintos componentes según convenga. Estas propiedades pueden utilizarse si se crea un administrador de diseño personalizado en la aplicación. De lo contrario, establecer estas propiedades en el inspector de componentes no producirá ningún efecto visible.
true.
true.
Puede escribir código ActionScript para controlar éstas y otras opciones del componente Button utilizando sus propiedades, métodos y eventos. Para más información, consulte “Clase
Button” en la página 104.

Creación de aplicaciones con el componente Button

El siguiente procedimiento explica cómo añadir un componente Button a una aplicación durante la edición. En este ejemplo, el botón muestra un mensaje al hacer clic en él.
Para crear una aplicación con el componente Button:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo Flash (ActionScript 2.0).
2. Arrastre un componente Button desde el panel Componentes al escenario.
3. En el inspector de propiedades, siga este procedimiento:
Introduzca el nombre de instancia my_button.
Introduzca Click me para el parámetro label.
Introduzca BtnIcon en el parámetro icon.
Para utilizar un icono, en la biblioteca debe haber un clip de película o un símbolo gráfico con un identificador de vinculación para emplearlo como parámetro icon. En este ejemplo, el identificador de vinculación es BtnIcon.
Establezca la propiedad toggle en true.
Utilización del componente Button 93
4. Seleccione el fotograma 1 de la línea de tiempo, abra el panel Acciones e introduzca el
código siguiente:
function clicked(){
trace("You clicked the button!"); } my_button.addEventListener("click", clicked);
La última línea de código llama a una función de controlador de eventos clicked para el evento “click”. Ésta utiliza el método “EventDispatcher.addEventListener()” en
la página 529 con una función personalizada para controlar el evento.
5. Seleccione Control > Probar película.
6. Al hacer clic en el botón, Flash muestra un mensaje que indica que ha hecho clic en el botón.
Para crear un botón mediante código ActionScript:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo Flash (ActionScript 2.0).
2. Arrastre el componente Button desde el panel Componentes a la biblioteca del documento
actual. De esta manera, se añade el componente a la biblioteca, aunque éste no se vuelve visible en
la aplicación.
3. En el primer fotograma de la línea de tiempo principal, añada el siguiente código
ActionScript al panel Acciones para crear una instancia de Button:
this.createClassObject(mx.controls.Button, "my_button", 10,
{label:"Click me"}); my_button.move(20, 20);
Se utiliza el método UIObject.createClassObject() para crear la instancia de Button denominada my_button y especificar una propiedad de etiqueta. A continuación, el código utiliza el método
4. Añada el siguiente código ActionScript para crear un detector de eventos y una función de
UIObject.move() para colocar el botón.
controlador de eventos:
function clicked() {
trace("You clicked the button!"); } my_button.addEventListener("click", clicked);
Se utiliza el método “EventDispatcher.addEventListener()” en la página 529 con una función personalizada para controlar el evento.
5. Seleccione Control > Probar película.
6. Al hacer clic en el botón, Flash muestra un mensaje que indica que ha hecho clic en el botón.
Mientras utiliza el componente Button con otros componentes, puede crear funciones de controlador de eventos más sofisticadas. En este ejemplo, el evento “click” hace que el componente Accordion cambie la visualización de los paneles.
94 Componente Button
Para utilizar un evento Button con otro componente:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo Flash (ActionScript 2.0).
2. Arrastre el componente Button desde el panel Componentes a la biblioteca del documento
actual. De esta manera, se añade el componente a la biblioteca, aunque éste no se vuelve visible en
la aplicación.
3. Arrastre el componente Accordion desde el panel Componentes a la biblioteca del
documento actual.
4. En el primer fotograma de la línea de tiempo principal, añada el siguiente código
ActionScript al panel Acciones para crear una instancia de 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);
En este proceso se utiliza el método UIObject.createClassObject() para crear las instancias de Button y Accordion. A continuación, el código utiliza el método
UIObject.move() para colocar las instancias.
5. Añada el siguiente código ActionScript para crear detectores de eventos y funciones de
controlador de eventos:
// Crear controlador para el evento de botón. function changePanel(evt_obj:Object):Void { // Cambiar la vista de Accordion según el botón seleccionado. switch (evt_obj.target._name) { case "panelOne_button" : my_acc.selectedIndex = 0; break; case "panelTwo_button" : my_acc.selectedIndex = 1; break; } }
// Añadir detectores para los botones. panelOne_button.addEventListener("click", changePanel); panelTwo_button.addEventListener("click", changePanel);
En este proceso se utiliza el método EventDispatcher.addEventListener() con una función personalizada para controlar los eventos.
6. Seleccione Control > Probar película.
7. Al hacer clic en un botón, el componente Accordion cambia el panel actual.
Utilización del componente Button 95

Personalización del componente Button

El componente Button puede transformarse horizontal y verticalmente durante la edición y en tiempo de ejecución. Durante la edición, seleccione el componente en el escenario y utilice la herramienta Transformación libre o cualquiera de los comandos Modificar > Transformar. En tiempo de ejecución, utilice el método cualquier método o propiedad aplicable de la clase Button (consulte “Clase Button” en
la página 104). Cuando se modifica el tamaño del botón, no cambia el tamaño del icono ni de
la etiqueta. El recuadro de delimitación de una instancia de Button es invisible y designa el área activa de
la instancia. Si se aumenta el tamaño de la instancia, también aumenta el tamaño del área activa. Si el recuadro de delimitación es demasiado pequeño para que encaje la etiqueta, ésta se recorta para ajustarse al espacio disponible.
Si el icono es más grande que el botón, el icono sobresaldrá por los bordes del botón.

Utilización de estilos con el componente Button

Es posible definir propiedades de estilo para cambiar el aspecto de una instancia de Button. Si el nombre de una propiedad de estilo termina por “Color”, significa que es una propiedad de estilo de color y se comporta de forma diferente a las que no lo son. Para más información, consulte “Utilización de estilos para personalizar el texto y el color de un componente” en Utilización de componentes ActionScript 2.0.
Un componente Button admite los siguientes estilos:
setSize() (consulte UIObject.setSize()) o
Estilo Tema Descripción
themeColor
backgroundColor
96 Componente Button
Halo Esquema de colores base de un componente. Los
valores posibles son
“haloOrange”. El valor predeterminado es “haloGreen”.
Sample Color del fondo. El valor predeterminado es 0xEFEBEF
(gris claro). El tema Halo utiliza 0xF8F8F8 (gris muy claro) como color de fondo del botón cuando el botón no está presionado y presionado. Sólo puede modificar el color de fondo del estado sin presionar en el tema Halo aplicando un aspecto al botón. Consulte “Utilización de aspectos con
el componente Button” en la página 98.
“haloGreen”, “haloBlue” y
themeColor cuando el botón está
Estilo Tema Descripción
borderStyle
color
disabledColor
embedFonts
fontFamily
fontSize
fontStyle
fontWeight
textDecoration
Sample El componente Button utiliza una instancia de
RectBorder como borde en el tema Sample y responde a los estilos definidos en esa clase. Consulte “Clase
RectBorder” en la página 1145.
Con el tema Halo, el componente Button utiliza un borde redondeado personalizado cuyos colores no se pueden modificar (salvo
Ambos Color del texto. El valor predeterminado es 0x0B333C
para el tema Halo y en blanco para el tema Sample.
Ambos Color del texto cuando el componente está desactivado.
El color predeterminado es 0x848384 (gris oscuro).
Ambos Valor booleano que indica si la fuente especificada en
fontFamily es una fuente incorporada. Este estilo debe
definirse como fuente incorporada. De lo contrario, no se utiliza la fuente incorporada. Si el estilo se define como
fontFamily no hace referencia a una fuente
incorporada, no se muestra ningún texto. El valor predeterminado es
Ambos Nombre de la fuente del texto. El valor predeterminado
“_sans”.
es
Ambos Tamaño de la fuente en puntos. El valor
predeterminado es 10.
Ambos Estilo de la fuente: puede ser “normal” o “italic”.
El valor predeterminado es
Ambos Grosor de la fuente: puede ser “none” o “bold”. El valor
predeterminado es pueden aceptar además el valor
“none” durante una llamada a setStyle(), pero las
llamadas posteriores a
Ambos Decoración del texto: puede ser “none” o “underline”.
El valor predeterminado es
themeColor).
true si fontFamily hace referencia a una
true y
false.
“normal”.
“none”. Todos los componentes
“normal” en lugar de
getStyle() devolverán “none”.
“none”.
Personalización del componente Button 97

Utilización de aspectos con el componente Button

El componente Button incluye 32 aspectos diferentes que se pueden personalizar para que se correspondan con 16 estados distintos del borde y el icono. Para aplicar un aspecto al componente Button durante la edición, cree nuevos símbolos de clip de película con los gráficos deseados y establezca los identificadores de vinculación de símbolo mediante código ActionScript. Para más información, consulte “Utilización de ActionScript para dibujar
aspectos del componente Button” en la página 100.
La implementación predeterminada de los aspectos del componente Button proporcionada con los temas Halo y Sample utiliza la API de dibujo de ActionScript para dibujar los estados de botón, y utiliza un símbolo de clip de película individual asociado con una clase de ActionScript para proporcionar todos los aspectos del componente Button.
El componente Button tiene muchos aspectos porque un botón tiene muchos estados distintos, además de un borde y un icono distinto para cada estado. El estado de una instancia de Button se controla mediante cuatro propiedades y la interacción con el usuario. Las siguientes propiedades afectan a los aspectos:
Propiedad Descripción
emphasized
enabled
toggle
selected
Proporciona dos apariencias distintas para instancias de Button y se suele usar para resaltar un botón, como el botón predeterminado de un formulario.
Indica si el botón permite la interacción con el usuario.
Proporciona un valor de estado seleccionado y de estado no seleccionado y usa aspectos diferentes para indicar el valor actual. Para una instancia de Button cuya propiedad establecida en valor de la propiedad propiedad
Cuando se establece la propiedad toggle en true, determina si el componente Button está seleccionado ( identificar el valor se usan distintos aspectos, que son de forma predeterminada la única manera de indicar este valor en pantalla.
false, se usarán los aspectos false. Cuando el
toggle es true, el aspecto dependerá de la
selected.
true o false). Para
toggle esté
Si un botón está activado, muestra el estado correspondiente al desplazamiento del puntero sobre él. Cuando se presiona el botón, recibe la selección de entrada y muestra el estado presionado. Cuando se suelta el botón del ratón, el botón recupera el estado correspondiente al desplazamiento del puntero sobre él. Si el puntero se retira del botón estando el ratón presionado, el botón recupera su estado original y conserva la selección de entrada. Si el parámetro toggle está establecido en
true, el estado del botón no cambiará hasta que, estando
el puntero del ratón sobre el botón, se suelte el botón del ratón.
98 Componente Button
Si el botón está desactivado, muestra el estado desactivado sea cual sea la acción del usuario. El componente Button admite las siguientes propiedades de aspecto:
Propiedad Descripción
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
Estado sin presionar (normal).
Estado presionado.
Estado cuando se desplaza el puntero sobre él.
Estado desactivado.
Estado conmutado.
Estado presionado conmutado.
Estado conmutado cuando se desplaza el puntero sobre él.
Estado desactivado conmutado.
Estado sin presionar (normal) de un botón resaltado.
Estado presionado de un botón resaltado.
Estado de un botón resaltado cuando se desplaza el puntero sobre él.
Estado desactivado de un botón resaltado.
Estado conmutado de un botón resaltado.
Estado presionado conmutado de un botón resaltado.
Estado conmutado de un botón resaltado, cuando se desplaza el puntero sobre él.
Estado desactivado conmutado de un botón resaltado.
Estado sin presionar del icono.
Estado presionado del icono.
Estado del icono cuando se desplaza el puntero sobre él.
Estado desactivado del icono.
Estado conmutado del icono.
Estado conmutado del icono cuando se desplaza el puntero sobre él.
Estado presionado conmutado del icono.
Estado desactivado conmutado del icono.
Estado sin presionar del icono de un botón resaltado.
Estado presionado del icono de un botón resaltado.
Personalización del componente Button 99
Propiedad Descripción
falseOverIconEmphasized
falseDisabledIconEmphasized
trueUpIconEmphasized
trueOverIconEmphasized
trueDownIconEmphasized
trueDisabledIconEmphasized
Estado del icono de un botón resaltado cuando se desplaza el puntero sobre él
Estado desactivado del icono de un botón resaltado.
Estado conmutado del icono de un botón resaltado.
Estado conmutado del icono de un botón resaltado cuando se desplaza el puntero sobre él.
Estado presionado conmutado del icono de un botón resaltado.
Estado desactivado conmutado del icono de un botón resaltado.
El valor predeterminado de todas las propiedades del aspecto cuyo nombre acabe en “Skin” es
ButtonSkin y el valor predeterminado de todas las propiedades “Icon” es undefined. Las
propiedades con el sufijo “Skin” proporcionan un fondo y borde, mientras que las que tienen el sufijo “Icon” proporcionan un icono pequeño.
Además de los aspectos de icono, el componente Button también admite una propiedad
icon
estándar. La diferencia entre la propiedad estándar y la propiedad de estilo es que esta última permite establecer iconos para los estados individuales, mientras que la estándar sólo permite establecer un icono para todos los estados. Si una instancia de Button tiene establecidas la propiedad
icon y propiedades de estilo de icono, es posible que no se comporte de la forma
esperada. Puede ver una demostración interactiva que ilustra cuándo se usa cada aspecto en el apartado
Utilización de componentes ActionScript 2.0 de la Ayuda.
Utilización de ActionScript para dibujar aspectos del componente Button
Los aspectos predeterminados de los temas Halo y Sample usan el mismo elemento de aspecto para todos los estados y dibujan los gráficos mediante ActionScript. La implementación de Halo utiliza una extensión de la clase RectBorder y código personalizado de dibujo para dibujar los estados. En la implementación de Sample se utiliza el mismo aspecto y la misma clase de ActionScript que en el tema Halo, con distintas propiedades establecidas en ActionScript para alterar la apariencia del componente Button.
100 Componente Button
Loading...