UIComponent

http://www.ahwww.cn/study/ActionScript3/fl/core/UIComponent.html
包 fl.core
类 public class UIComponent
继承 UIComponent Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object
子类 BaseButton, BaseScrollPane, ColorPicker, ComboBox, IndeterminateBar, Label, NumericStepper, ProgressBar, ScrollBar, Slider, TextArea, TextInput, UILoader


语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


UIComponent 类是所有可视组件(交互式和非交互式)的基类。 交互式组件被定义为接收用户输入(例如键盘或鼠标活动)的组件。 非交互式组件用于显示数据;它们对用户交互不做响应。 ProgressBar 和 UILoader 组件是非交互式组件的示例。
Tab 和箭头键可以用来将焦点移到交互式组件上以及将焦点从交互式组件上移开;交互式组件可以接受低级别事件,例如鼠标和键盘设备的输入。 也可以禁用交互式组件,以便它无法接收鼠标和键盘输入。


--------------------------------------------------------------------------------

公共 属性
隐藏继承的公共属性
显示继承的公共属性
属性 定义方
accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。 DisplayObject
alpha : Number
指示指定对象的 Alpha 透明度值。 DisplayObject
blendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。 DisplayObject
buttonMode : Boolean
指定此 sprite 的按钮模式。 Sprite
cacheAsBitmap : Boolean
如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。 DisplayObject
constructor : Object
对类对象或给定对象实例的构造函数的引用。 Object
contextMenu : ContextMenu
指定与此对象相关联的上下文菜单。 InteractiveObject
doubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。 InteractiveObject
dropTarget : DisplayObject
[read-only] 指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。 Sprite
enabled : Boolean
获取或设置一个值,该值指示组件是否可以接受用户交互。 UIComponent
filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。 DisplayObject
focusEnabled : Boolean
获取或设置一个布尔值,该值指示组件是否可以在用户单击它后获得焦点。 UIComponent
focusManager : IFocusManager
获取或设置为此组件及其同级组件控制焦点的 FocusManager。 UIComponent
focusRect : Object
指定此对象是否显示焦点矩形。 InteractiveObject
graphics : Graphics
[read-only] 指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘画命令。 Sprite
height : Number
获取或设置组件的高度,以像素为单位。 UIComponent
hitArea : Sprite
指定一个 sprite 用作另一个 sprite 的点击区域。 Sprite
loaderInfo : LoaderInfo
[read-only] 返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 DisplayObject
mask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。 DisplayObject
mouseChildren : Boolean
确定对象的子项是否支持鼠标。 DisplayObjectContainer
mouseEnabled : Boolean
指定此对象是否接收鼠标消息。 InteractiveObject
mouseFocusEnabled : Boolean
获取或设置一个值,该值指示组件是否可以在用户单击它后获得焦点。 UIComponent
mouseX : Number
[read-only] 指示鼠标位置的 x 坐标,以像素为单位。 DisplayObject
mouseY : Number
[read-only] 指示鼠标位置的 y 坐标,以像素为单位。 DisplayObject
name : String
指示 DisplayObject 的实例名称。 DisplayObject
numChildren : int
[read-only] 返回此对象的子项数目。 DisplayObjectContainer
opaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。 DisplayObject
parent : DisplayObjectContainer
[read-only] 指示包含此显示对象的 DisplayObjectContainer 对象。 DisplayObject
prototype : Object
[static] 对类或函数对象的原型对象的引用。 Object
root : DisplayObject
[read-only] 对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。 DisplayObject
rotation : Number
指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 DisplayObject
scale9Grid : Rectangle
当前有效的缩放网格。 DisplayObject
scaleX : Number
将组件的当前宽度与缩放系数相乘。 UIComponent
scaleY : Number
将组件的当前高度与缩放系数相乘。 UIComponent
scrollRect : Rectangle
显示对象的滚动矩形范围。 DisplayObject
soundTransform : SoundTransform
控制此 sprite 中的声音。 Sprite
stage : Stage
[read-only] 显示对象的舞台。 DisplayObject
tabChildren : Boolean
确定对象的子项是否支持 Tab 键。 DisplayObjectContainer
tabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。 InteractiveObject
tabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。 InteractiveObject
textSnapshot : TextSnapshot
[read-only] 返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。 DisplayObjectContainer
transform : Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。 DisplayObject
useHandCursor : Boolean
布尔值,指示当鼠标滑过其 buttonMode 属性设置为 true 的 sprite 时是否显示手指形(手形光标)。 Sprite
version : String = "3.0.0.13"
组件的版本号。 UIComponent
visible : Boolean
获取或设置一个值,该值指示当前组件实例是否可见。 UIComponent
width : Number
获取或设置组件的宽度(以像素为单位)。 UIComponent
x : Number
获取或设置 x 坐标,该坐标表示组件在其父容器内沿 x 轴的位置。 UIComponent
y : Number
获取或设置 y 坐标,该坐标表示组件在其父容器内沿 y 轴的位置。 UIComponent

公共 方法
隐藏继承的公共方法
显示继承的公共方法
方法 定义方
UIComponent()
创建新的 UIComponent 组件实例。 UIComponent
addChild(child:DisplayObject):DisplayObject
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 DisplayObjectContainer
addChildAt(child:DisplayObject, index:int):DisplayObject
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 DisplayObjectContainer
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 EventDispatcher
areInaccessibleObjectsUnderPoint(point:Point):Boolean
指示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。 DisplayObjectContainer
clearStyle(style:String):void
删除此组件实例中的样式属性。 UIComponent
contains(child:DisplayObject):Boolean
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。 DisplayObjectContainer
dispatchEvent(event:Event):Boolean
将事件调度到事件流中。 EventDispatcher
drawFocus(focused:Boolean):void
在此组件上显示或隐藏焦点指示符。 UIComponent
drawNow():void
启动立即绘制操作,但不像 invalidateNow 那样使全部设置失效。 UIComponent
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。 DisplayObject
getChildAt(index:int):DisplayObject
返回位于指定索引处的子显示对象实例。 DisplayObjectContainer
getChildByName(name:String):DisplayObject
返回具有指定名称的子显示对象。 DisplayObjectContainer
getChildIndex(child:DisplayObject):int
返回 DisplayObject 的 child 实例的索引位置。 DisplayObjectContainer
getFocus():InteractiveObject
检索当前具有焦点的对象。 UIComponent
getObjectsUnderPoint(point:Point):Array
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。 DisplayObjectContainer
getRect(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。 DisplayObject
getStyle(style:String):Object
检索组件的样式查找链中设置的样式属性。 UIComponent
getStyleDefinition():Object
[static] 检索当前组件的默认样式映射。 UIComponent
globalToLocal(point:Point):Point
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。 DisplayObject
hasEventListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 EventDispatcher
hasOwnProperty(name:String):Boolean
指示对象是否已经定义了指定的属性。 Object
hitTestObject(obj:DisplayObject):Boolean
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。 DisplayObject
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。 DisplayObject
invalidate(property:String, callLater:Boolean = true):void
在未另外指定的情况下,将属性标记为无效,并在下一帧上重绘组件。 UIComponent
isPrototypeOf(theClass:Object):Boolean
指示 Object 类的实例是否在指定为参数的对象的原型链中。 Object
localToGlobal(point:Point):Point
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 DisplayObject
mergeStyles(... list):Object
[static] 将多个类的样式合并到一个对象中。 UIComponent
move(x:Number, y:Number):void
将组件移动到其父项内的指定位置。 UIComponent
propertyIsEnumerable(name:String):Boolean
指示指定的属性是否存在、是否可枚举。 Object
removeChild(child:DisplayObject):DisplayObject
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。 DisplayObjectContainer
removeChildAt(index:int):DisplayObject
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。 DisplayObjectContainer
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。 EventDispatcher
setChildIndex(child:DisplayObject, index:int):void
更改现有子项在显示对象容器中的位置。 DisplayObjectContainer
setFocus():void
设置此组件的焦点。 UIComponent
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
设置循环操作动态属性的可用性。 Object
setSize(width:Number, height:Number):void
将组件设置为指定宽度和高度。 UIComponent
setStyle(style:String, value:Object):void
对此组件实例设置样式属性。 UIComponent
startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
允许用户拖动指定的 Sprite。 Sprite
stopDrag():void
结束 startDrag() 方法。 Sprite
swapChildren(child1:DisplayObject, child2:DisplayObject):void
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。 DisplayObjectContainer
swapChildrenAt(index1:int, index2:int):void
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。 DisplayObjectContainer
toString():String
返回指定对象的字符串表示形式。 Object
validateNow():void
验证并更新此对象的属性和布局,如果需要的话重绘对象。 UIComponent
valueOf():Object
返回指定对象的原始值。 Object
willTrigger(type:String):Boolean
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 EventDispatcher

事件
隐藏继承的事件
显示继承的事件
事件 摘要 定义方
activate Flash Player 获得操作系统焦点并变为活动状态时调度。 EventDispatcher
added 将显示对象添加到显示列表中时调度。 DisplayObject
addedToStage 在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。 DisplayObject
click 用户在同一 InteractiveObject 上按下并释放用户指针设备的主按钮时调度。 InteractiveObject
deactivate Flash Player 失去操作系统焦点并变为非活动状态时调度。 EventDispatcher
doubleClick 如果 InteractiveObject 的 doubleClickEnabled 标志设置为 true,当用户在该对象上快速连续按下两次并释放指针设备的主按钮时调度。 InteractiveObject
enterFrame 播放头进入新帧时调度。 DisplayObject
focusIn 显示对象获得焦点后调度。 InteractiveObject
focusOut 显示对象失去焦点后调度。 InteractiveObject
hide 在组件可见性从可见改为不可见以后调度。 UIComponent
keyDown 用户按下某个键时调度。 InteractiveObject
keyFocusChange 用户尝试使用键盘导航更改焦点时调度。 InteractiveObject
keyUp 用户释放某个键时调度。 InteractiveObject
mouseDown 在 Flash Player 窗口中,用户在 InteractiveObject 实例上按下指针设备按钮时调度。 InteractiveObject
mouseFocusChange 用户尝试使用指针设备更改焦点时调度。 InteractiveObject
mouseMove 用户移动 InteractiveObject 上的指针设备时调度。 InteractiveObject
mouseOut 用户将指针设备从 InteractiveObject 实例上移开时调度。 InteractiveObject
mouseOver 在 Flash Player 窗口中,用户将指针设备移动到 InteractiveObject 实例上时调度。 InteractiveObject
mouseUp 在 Flash Player 窗口中,用户在 InteractiveObject 实例上释放指针设备按钮时调度。 InteractiveObject
mouseWheel 在 Flash Player 窗口中,鼠标滚轮滚动到 InteractiveObject 实例上时调度。 InteractiveObject
move 在移动组件以后调度。 UIComponent
removed 将要从显示列表中删除显示对象时调度。 DisplayObject
removedFromStage 在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。 DisplayObject
render 将要更新和呈现显示列表时调度。 DisplayObject
resize 在调整组件大小以后调度。 UIComponent
rollOut 用户将指针设备从 InteractiveObject 实例上移开时调度。 InteractiveObject
rollOver 用户将指针设备移动到 InteractiveObject 实例上时调度。 InteractiveObject
show 在组件可见性从不可见改为可见以后调度。 UIComponent
tabChildrenChange 对象的 tabChildren 标志值发生更改时调度。 InteractiveObject
tabEnabledChange 对象的 tabEnabled 标志发生更改时调度。 InteractiveObject
tabIndexChange 对象的 tabIndex 属性值发生更改时调度。 InteractiveObject

样式
样式 说明 定义方
disabledTextFormat 类型: flash.text.TextFormat
用于在禁用了按钮的情况下呈现组件标签的 TextFormat 对象。 默认值为 TextFormat("_sans", 11, 0x999999, false, false, false, '', '', TextFormatAlign.LEFT, 0, 0, 0, 0). UIComponent
focusRectPadding 类型: Number 格式: Length
用于分隔组件的外边框和焦点指示符的外边框的填充(以像素为单位)。 默认值为 2. UIComponent
focusRectSkin 类型: Class
用于显示焦点指示符的外观。 默认值为 focusRectSkin. UIComponent
textFormat 类型: flash.text.TextFormat
用于呈现组件标签的 TextFormat 对象。 默认值为 TextFormat("_sans", 11, 0x000000, false, false, false, '', '', TextFormatAlign.LEFT, 0, 0, 0, 0). UIComponent

属性详细信息
enabled 属性

enabled:Boolean [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


获取或设置一个值,该值指示组件是否可以接受用户交互。 true 值指示组件可以接受用户交互;false 值指示组件无法接受用户交互。

如果将 enabled 属性设置为 false,则容器的颜色将变暗,并且禁止用户输入(Label 和 ProgressBar 组件除外)。


默认值为 true.


实现
public function get enabled():Boolean
public function set enabled(value:Boolean):void

focusEnabled 属性

focusEnabled:Boolean [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


获取或设置一个布尔值,该值指示组件是否可以在用户单击它后获得焦点。 true 值指示其可以获得焦点;false 值指示其无法获得焦点。

如果该属性为 false,焦点会转移到其 mouseFocusEnabled 属性设置为 true 的第一个父项。


默认值为 true.


实现
public function get focusEnabled():Boolean
public function set focusEnabled(value:Boolean):void

另请参见

mouseFocusEnabled
focusManager 属性

focusManager:IFocusManager [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


获取或设置为此组件及其同级组件控制焦点的 FocusManager。 每个弹出组件都保留有自己的焦点循环和 FocusManager 实例。 使用该属性可以访问该组件的正确 FocusManager。


实现
public function get focusManager():IFocusManager
public function set focusManager(value:IFocusManager):void

height 属性

height:Number [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


获取或设置组件的高度,以像素为单位。

设置此属性将导致 resize 事件被调度。 请参阅“resize 事件”,了解有关何时调度该事件的详细信息。

如果组件的 scaleY 属性不是 1.0,则从其内部坐标获得的组件高度将与父坐标的高度值不匹配。 例如,一个宽度为 100 像素并且 scaleY 为 2 的组件在父项中具有 100 像素的值,但内部却存储一个指示其为 50 像素高的值。


实现
public function get height():Number
public function set height(value:Number):void

mouseFocusEnabled 属性

mouseFocusEnabled:Boolean [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


获取或设置一个值,该值指示组件是否可以在用户单击它后获得焦点。 true 值指示其可以获得焦点;false 值指示其无法获得焦点。

如果该属性为 false,焦点会转移到其 mouseFocusEnabled 属性设置为 true 的第一个父项。


默认值为 true.


实现
public function get mouseFocusEnabled():Boolean
public function set mouseFocusEnabled(value:Boolean):void

另请参见

focusEnabled
scaleX 属性

scaleX:Number [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


将组件的当前宽度与缩放系数相乘。


实现
public function get scaleX():Number
public function set scaleX(value:Number):void

另请参见

scaleY
scaleY 属性

scaleY:Number [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


将组件的当前高度与缩放系数相乘。


实现
public function get scaleY():Number
public function set scaleY(value:Number):void

另请参见

scaleX
version 属性

public var version:String = "3.0.0.13"

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


组件的版本号。


示例
如何使用示例


下例跟踪 CheckBox 组件实例的版本号:
import fl.controls.CheckBox;

var myCheckBox:CheckBox = new CheckBox();
trace(myCheckBox.version);

visible 属性

visible:Boolean [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


获取或设置一个值,该值指示当前组件实例是否可见。 true 值指示当前组件可见;false 值指示其不可见。

该属性设置为 true 时,对象将调度 show 事件。 该属性设置为 false 时,对象将调度 hide 事件。 无论在哪种情况下,对象的子项都不会生成 show 或 hide 事件,除非明确地针对该对象编写一个实现来执行此操作。


默认值为 true.


实现
public function get visible():Boolean
public function set visible(value:Boolean):void

另请参见

hide
show
width 属性

width:Number [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


获取或设置组件的宽度(以像素为单位)。

设置此属性将导致 resize 事件被调度。 请参阅“resize 事件”,了解有关何时调度该事件的详细信息。

如果组件的 scaleX 属性不是 1.0,则从其内部坐标获得的组件宽度将与父坐标的宽度值不匹配。 例如,一个宽度为 100 像素并且 scaleX 为 2 的组件在父项中具有 100 像素的值,但内部却存储一个指示其为 50 像素宽的值。


实现
public function get width():Number
public function set width(value:Number):void

另请参见

height
resize
x 属性

x:Number [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


获取或设置 x 坐标,该坐标表示组件在其父容器内沿 x 轴的位置。 以像素为单位描述该值并且从左边计算该值。

设置此属性将导致 ComponentEvent.MOVE 事件被调度。


默认值为 0.


实现
public function get x():Number
public function set x(value:Number):void

另请参见

move()
y
y 属性

y:Number [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


获取或设置 y 坐标,该坐标表示组件在其父容器内沿 y 轴的位置。 以像素为单位描述该值并且从顶部计算该值。

设置此属性将导致 move 事件被调度。


实现
public function get y():Number
public function set y(value:Number):void

另请参见

move()
x
构造函数详细信息
UIComponent () 构造函数

public function UIComponent()

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


创建新的 UIComponent 组件实例。

方法详细信息
clearStyle () 方法

public function clearStyle(style:String):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


删除此组件实例中的样式属性。

这并不一定会导致 getStyle() 方法返回 undefined 值。


参数 style:String — 样式属性的名称。


另请参见

getStyle()
setStyle()
drawFocus () 方法

public function drawFocus(focused:Boolean):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


在此组件上显示或隐藏焦点指示符。

UIComponent 类通过创建并放置 focusSkin 样式指定的类的实例来实现该方法。


参数 focused:Boolean — 指示是显示还是隐藏焦点指示符。 如果该值为 true,则显示焦点指示符;如果该值为 false,则隐藏焦点指示符。


drawNow () 方法

public function drawNow():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


启动立即绘制操作,但不像 invalidateNow 那样使全部设置失效。

getFocus () 方法

public function getFocus():InteractiveObject

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


检索当前具有焦点的对象。

请注意,此方法不一定返回具有焦点的组件。 它可能返回具有焦点的组件的内部子组件。 若要获取具有焦点的组件,请使用 focusManager.focus 属性。


返回 InteractiveObject — 具有焦点的对象;否则,该方法返回 null。

getStyle () 方法

public function getStyle(style:String):Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


检索组件的样式查找链中设置的样式属性。

根据方法检索的样式属性,该方法返回的类型会有所不同。 可能类型的范围包括 Boolean、String、Number、int、用于 RGB 颜色的 uint、用于外观的 Class 或任何对象类型。

如果调用该方法来检索特定样式属性,其类型将为已知类型,您可以将其存储在相同类型的变量中。 不需要进行类型转换。 一条类似如下所示的简单赋值语句即可起作用:

var backgroundColor:uint = getStyle("backgroundColor");
如果样式查找链中未设置样式属性,则该方法返回 undefined 值。 注意,undefined 是一个特殊的值,它不同于 false、""、NaN、0 或 null。 如果没有有效的样式值,则总是 undefined。 可以使用静态方法 StyleManager.isValidStyleValue() 来测试是否设置了值。


参数 style:String — 样式属性的名称。


返回 Object — 样式值。

另请参见

clearStyle()
setStyle()

示例
如何使用示例


下例创建一个 DataGrid 组件实例并显示 ComboBox 组件的默认和当前样式:
import fl.controls.ComboBox;
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var myComboBox:ComboBox = new ComboBox();
myComboBox.setStyle("textPadding", 6);
myComboBox.setStyle("disabledAlpha", 0.8);

var styleObject:Object = ComboBox.getStyleDefinition();
var styleDP:DataProvider = new DataProvider();
var styleName:String;
var styleDefaultValue:String;
var styleCurrentValue:String;

for (styleName in styleObject) {
styleDefaultValue = String(styleObject[styleName]);
styleCurrentValue = String(myComboBox.getStyle(styleName));
styleDP.addItem({name:styleName, defaultValue:styleDefaultValue, currentValue:styleCurrentValue});
}
styleDP.sortOn("name", Array.CASEINSENSITIVE);

var c1:DataGridColumn = new DataGridColumn("name");
c1.headerText = "Style name:";
var c2:DataGridColumn = new DataGridColumn("defaultValue");
c2.headerText = "Default style value:";
var c3:DataGridColumn = new DataGridColumn("currentValue");
c3.headerText = "Current style value:"

var styleDataGrid:DataGrid = new DataGrid();
styleDataGrid.addColumn(c1); // name
styleDataGrid.addColumn(c2); // defaultValue
styleDataGrid.addColumn(c3); // currentValue
styleDataGrid.dataProvider = styleDP;
styleDataGrid.setSize(stage.stageWidth - 20, stage.stageHeight - 20);
styleDataGrid.move(10, 10);
addChild(styleDataGrid);

getStyleDefinition () 方法

public static function getStyleDefinition():Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


检索当前组件的默认样式映射。 样式映射包含适合组件的类型,具体取决于组件使用的样式。 例如,disabledTextFormat 样式包含 null 值或 TextFormat 对象。 可以使用这些样式并对当前组件调用 setStyle()。 下面的代码覆盖指定组件上默认的 disabledTextFormat 样式:

componentInstance.setStyle("disabledTextFormat", new TextFormat());


返回 Object — 默认样式对象。

另请参见

getStyle()
setStyle()
StyleManager

示例
如何使用示例


下例为多个组件类创建一个样式浏览器: import fl.controls.*;
import fl.containers.*;
import fl.controls.listClasses.*;
import fl.controls.dataGridClasses.*;
import fl.controls.progressBarClasses.*;
import fl.core.UIComponent;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem( { label: "BaseScrollPane", data:BaseScrollPane } );
dp.addItem( { label: "Button", data:Button } );
dp.addItem( { label: "CellRenderer", data:CellRenderer } );
dp.addItem( { label: "CheckBox", data:CheckBox } );
dp.addItem( { label: "ColorPicker", data:ColorPicker } );
dp.addItem( { label: "ComboBox", data:ComboBox } );
dp.addItem( { label: "DataGrid", data:DataGrid } );
dp.addItem( { label: "HeaderRenderer", data:HeaderRenderer } );
dp.addItem( { label: "ImageCell", data:ImageCell } );
dp.addItem( { label: "IndeterminateBar",data:IndeterminateBar } );
dp.addItem( { label: "Label", data:Label } );
dp.addItem( { label: "List", data:List } );
dp.addItem( { label: "NumericStepper", data:NumericStepper } );
dp.addItem( { label: "ProgressBar", data:ProgressBar } );
dp.addItem( { label: "RadioButton", data:RadioButton } );
dp.addItem( { label: "ScrollPane", data:ScrollPane } );
dp.addItem( { label: "Slider", data:Slider } );
dp.addItem( { label: "TextArea", data:TextArea } );
dp.addItem( { label: "TextInput", data:TextInput } );
dp.addItem( { label: "TileList", data:TileList } );
dp.addItem( { label: "UILoader", data:UILoader } );
dp.addItem( { label: "UIComponent", data:UIComponent } );

var cb:ComboBox = new ComboBox();
cb.move(10,10);
cb.setSize(300,25);
cb.prompt = "Select a component to view its styles";
cb.rowCount = 12;
cb.dataProvider = dp;
cb.addEventListener(Event.CHANGE, showStyleDefinition);
addChild(cb);

var dg:DataGrid = new DataGrid();
dg.setSize(425,300);
dg.move(10,50);
dg.columns = [ new DataGridColumn("StyleName"), new DataGridColumn("DefaultValue") ];
addChild(dg);

function showStyleDefinition(e:Event):void {
var componentClass:Class = e.target.selectedItem.data as Class;
var styles:Object = componentClass["getStyleDefinition"].call(this);
trace(styles.toString());
var styleData:DataProvider = new DataProvider();
for(var i:* in styles) {
trace(i + " : " + styles[i]);
styleData.addItem( { StyleName:i, DefaultValue:styles[i] } );
}
styleData.sortOn("StyleName");
dg.dataProvider = styleData;
}
invalidate () 方法

public function invalidate(property:String, callLater:Boolean = true):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


在未另外指定的情况下,将属性标记为无效,并在下一帧上重绘组件。

参数 property:String — 要使其无效的属性。

callLater:Boolean (default = true) — 一个布尔值,该值指示是否应该在下一帧上重绘组件。 默认值为 true。


mergeStyles () 方法

public static function mergeStyles(... list):Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


将多个类的样式合并到一个对象中。 如果在多个对象中定义了某种样式,则使用找到的第一个对象的样式。

参数 ... list — 包含要合并的默认样式的逗号分隔对象列表。


返回 Object — 包含合并样式的默认样式对象。

move () 方法

public function move(x:Number, y:Number):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


将组件移动到其父项内的指定位置。 这与通过设置其 x 和 y 属性更改组件位置的效果相同。 调用该方法将触发 ComponentEvent.MOVE 事件被调度。

若要覆盖自定义组件中的 updateDisplayList() 方法,请使用 move() 方法,而不是设置 x 和 y 属性。 这是因为,对 move() 方法的调用会导致 move 事件对象在移动操作完成以后立即被调度。 相比之下,通过设置 x 和 y 属性更改组件位置时,事件对象会在下一次刷新屏幕时被调度。


参数 x:Number — 指定组件在其父项内位置的 x 坐标值(以像素为单位)。 从左边计算该值。

y:Number — 指定组件在其父项内位置的 y 坐标值(以像素为单位)。 从顶部计算该值。


另请参见

x
y
setFocus () 方法

public function setFocus():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


设置此组件的焦点。 组件可能接下来将焦点提供给子组件。

注意:此方法设置焦点时,只有 TextInput 和 TextArea 组件显示焦点指示符。 所有组件在用户使用 Tab 切换到它时都显示焦点指示符。


setSize () 方法

public function setSize(width:Number, height:Number):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


将组件设置为指定宽度和高度。

参数 width:Number — 组件的宽度,以像素为单位。

height:Number — 组件的高度,以像素为单位。


setStyle () 方法

public function setStyle(style:String, value:Object):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


对此组件实例设置样式属性。 该样式可能会覆盖以全局方式设置的样式。

调用该方法会导致性能降低。 仅在必要时才使用它。


参数 style:String — 样式属性的名称。

value:Object — 样式的值。


另请参见

getStyle()
clearStyle()

示例
如何使用示例


下例设置按钮使用 Georgia 字体: import fl.controls.Button;

var myFormat:TextFormat = new TextFormat();
myFormat.font = "Georgia";

var b:Button = new Button();
b.label = "Hello World";
b.setStyle("textFormat", myFormat);
addChild(b);


下例创建一个 Button 组件实例并动态加载外部图标图像:
import fl.controls.Button;

var flashIcon:Loader = new Loader();
flashIcon.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
flashIcon.load(new URLRequest("http://www.helpexamples.com/flash/images/logo.png"));

var myButton:Button = new Button();
myButton.label = "Flash";
myButton.move(10, 10);
addChild(myButton);

function completeHandler(event:Event):void {
flashIcon.width = 16;
flashIcon.height = 16;
myButton.setStyle("icon", flashIcon);
}

validateNow () 方法

public function validateNow():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


验证并更新此对象的属性和布局,如果需要的话重绘对象。

通常只有当脚本执行完毕后,才会处理需要大量计算的属性。 这是因为,设置一个属性可能需要处理其它属性。 例如,设置 width 属性可能需要同时计算对象子项或父项的宽度。 而且,如果脚本多次重新计算对象的宽度,则这些相互依赖的属性可能也需要重新计算。 使用该方法可以手动覆盖该行为。


事件详细信息
hide 事件

事件对象类型: fl.events.ComponentEvent
ComponentEvent.type property = fl.events.ComponentEvent.HIDE


语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


在组件可见性从可见改为不可见以后调度。

定义 hide 事件对象的 type 属性值。
此事件具有以下属性:

属性 值
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理事件对象的对象。
target 调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

示例
如何使用示例


下例创建一个 Button 组件,用于切换 List 组件的可见性:
import fl.controls.Button;
import fl.controls.List;
import fl.events.ComponentEvent;
import fl.events.ListEvent;

var toggleButton:Button = new Button();
toggleButton.label = "toggle visibility";
toggleButton.toggle = true;
toggleButton.selected = true;
toggleButton.emphasized = toggleButton.selected;
toggleButton.addEventListener(Event.CHANGE, changeHandler);
toggleButton.width = 150;
toggleButton.move(10, 10);
addChild(toggleButton);

var myList:List = new List();
myList.addItem({label:"Item 1"});
myList.addItem({label:"Item 2"});
myList.addItem({label:"Item 3"});
myList.addItem({label:"Item 4"});
myList.addItem({label:"Item 5"});
myList.move(10, 40);
myList.addEventListener(ComponentEvent.HIDE, hideHandler);
myList.addEventListener(ComponentEvent.SHOW, showHandler);
myList.addEventListener(ListEvent.ITEM_ROLL_OVER, itemRollOverHandler);
myList.addEventListener(ListEvent.ITEM_ROLL_OUT, itemRollOverHandler);
addChild(myList);


function changeHandler(event:Event):void {
toggleButton.emphasized = toggleButton.selected;
myList.visible = toggleButton.selected;
}

function hideHandler(event:ComponentEvent):void {
trace("hiding list");
myList.removeEventListener(ListEvent.ITEM_ROLL_OVER, itemRollOverHandler);
myList.removeEventListener(ListEvent.ITEM_ROLL_OUT, itemRollOverHandler);
}

function showHandler(event:ComponentEvent):void {
trace("showing list");
myList.addEventListener(ListEvent.ITEM_ROLL_OVER, itemRollOverHandler);
myList.addEventListener(ListEvent.ITEM_ROLL_OUT, itemRollOverHandler);
}

function itemRollOverHandler(event:ListEvent):void {
trace(event.type + ":", event.item.label);
}

function itemRollOutHandler(event:ListEvent):void {
trace(event.type + ":", event.item.label);
}

另请参见

show
move 事件

事件对象类型: fl.events.ComponentEvent
ComponentEvent.type property = fl.events.ComponentEvent.MOVE


语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


在移动组件以后调度。

定义 move 事件对象的 type 属性值。
此事件具有以下属性:

属性 值
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理事件对象的对象。
target 调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

示例
如何使用示例


下例根据 Slider 组件的值在舞台上重新定位 UILoader 组件实例:
import fl.controls.Slider;
import fl.containers.UILoader;
import fl.events.ComponentEvent;
import fl.events.SliderEvent;

var myUILoader:UILoader = new UILoader();
myUILoader.source = "http://www.helpexamples.com/flash/images/image3.jpg";
myUILoader.move(10, 20);
myUILoader.addEventListener(ComponentEvent.MOVE, moveHandler);
addChild(myUILoader);

var mySlider:Slider = new Slider();
mySlider.liveDragging = true;
mySlider.minimum = myUILoader.x;
mySlider.maximum = myUILoader.x + 200;
mySlider.snapInterval = 1;
mySlider.tickInterval = 10;
mySlider.move(10, 10);
mySlider.addEventListener(SliderEvent.CHANGE, changeHandler);
addChild(mySlider);

function changeHandler(event:SliderEvent):void {
myUILoader.x = event.value;
}

function moveHandler(event:ComponentEvent):void {
trace("[move] x:" + event.currentTarget.x + ", y:" + event.currentTarget.y);
}

resize 事件

事件对象类型: fl.events.ComponentEvent
ComponentEvent.type property = fl.events.ComponentEvent.RESIZE


语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


在调整组件大小以后调度。

定义 resize 事件对象的 type 属性值。
此事件具有以下属性:

属性 值
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理事件对象的对象。
target 调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

示例
如何使用示例


下例将外部图像加载到 UILoader 组件实例中,并使用 resize 事件和 move() 方法将该图像居中放置在舞台上:
import fl.containers.UILoader;
import fl.events.ComponentEvent;

var myUILoader:UILoader = new UILoader();
myUILoader.scaleContent = false;
myUILoader.addEventListener(ComponentEvent.RESIZE, resizeHandler);
myUILoader.source = "http://www.helpexamples.com/flash/images/image3.jpg";
addChild(myUILoader);

function resizeHandler(event:ComponentEvent):void {
var myImg:UILoader = event.currentTarget as UILoader;
var newX:uint = (stage.stageWidth - myImg.width) / 2;
var newY:uint = (stage.stageHeight - myImg.height) / 2;
myImg.move(newX, newY);
}

show 事件

事件对象类型: fl.events.ComponentEvent
ComponentEvent.type property = fl.events.ComponentEvent.SHOW


语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0


在组件可见性从不可见改为可见以后调度。

定义 show 事件对象的 type 属性值。
此事件具有以下属性:

属性 值
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理事件对象的对象。
target 调度了事件的对象。target 不一定是侦听该事件的对象。使用 currentTarget 属性可以访问侦听该事件的对象。

示例
如何使用示例


下例创建一个 Button 组件,用于切换 List 组件的可见性:
import fl.controls.Button;
import fl.controls.List;
import fl.events.ComponentEvent;
import fl.events.ListEvent;

var toggleButton:Button = new Button();
toggleButton.label = "toggle visibility";
toggleButton.toggle = true;
toggleButton.selected = true;
toggleButton.emphasized = toggleButton.selected;
toggleButton.addEventListener(Event.CHANGE, changeHandler);
toggleButton.width = 150;
toggleButton.move(10, 10);
addChild(toggleButton);

var myList:List = new List();
myList.addItem({label:"Item 1"});
myList.addItem({label:"Item 2"});
myList.addItem({label:"Item 3"});
myList.addItem({label:"Item 4"});
myList.addItem({label:"Item 5"});
myList.move(10, 40);
myList.addEventListener(ComponentEvent.HIDE, hideHandler);
myList.addEventListener(ComponentEvent.SHOW, showHandler);
myList.addEventListener(ListEvent.ITEM_ROLL_OVER, itemRollOverHandler);
myList.addEventListener(ListEvent.ITEM_ROLL_OUT, itemRollOverHandler);
addChild(myList);


function changeHandler(event:Event):void {
toggleButton.emphasized = toggleButton.selected;
myList.visible = toggleButton.selected;
}

function hideHandler(event:ComponentEvent):void {
trace("hiding list");
myList.removeEventListener(ListEvent.ITEM_ROLL_OVER, itemRollOverHandler);
myList.removeEventListener(ListEvent.ITEM_ROLL_OUT, itemRollOverHandler);
}

function showHandler(event:ComponentEvent):void {
trace("showing list");
myList.addEventListener(ListEvent.ITEM_ROLL_OVER, itemRollOverHandler);
myList.addEventListener(ListEvent.ITEM_ROLL_OUT, itemRollOverHandler);
}

function itemRollOverHandler(event:ListEvent):void {
trace(event.type + ":", event.item.label);
}

function itemRollOutHandler(event:ListEvent):void {
trace(event.type + ":", event.item.label);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值