包 | fl.controls |
类 | public class Button |
继承 | Button LabelButton BaseButton UIComponent Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
实现 | IFocusManagerComponent |
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
Button 组件通常与事件处理函数方法关联,该方法将侦听 click
事件,并在 click
事件被调度后执行指定任务。 当用户单击启用的按钮时,该按钮调度 click
和 buttonDown
事件。即使按钮尚未启用,它也可以调度其他事件,其中包括:mouseMove
、mouseOver
、mouseOut
、rollOver
、rollOut
、mouseDown
和 mouseUp
。
可以通过将不同的外观与每个按钮状态关联来更改按钮外观。还可以将 Button 组件设置为执行普通按钮或切换按钮功能。
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
InteractiveObject 实例的当前辅助功能实现 (AccessibilityImplementation)。 | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。 | DisplayObject | ||
alpha : Number
表示指定对象的 Alpha 透明度值。 | DisplayObject | ||
autoRepeat : Boolean
获取或设置一个布尔值,该值指示是否当用户在组件上按住鼠标按键时重复调度 buttonDown 事件。 | BaseButton | ||
blendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。 | DisplayObject | ||
blendShader : Shader [只写]
设置用于混合前景和背景的着色器。 | DisplayObject | ||
buttonMode : Boolean
指定此 sprite 的按钮模式。 | Sprite | ||
cacheAsBitmap : Boolean
如果设置为 true,则 Flash 运行时将缓存显示对象的内部位图表示形式。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
如果为非 null,则 Matrix 对象会定义显示对象在 cacheAsBitmap 设置为 true 时的呈现方式。 | DisplayObject | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
contextMenu : NativeMenu
指定与此对象相关联的上下文菜单。 | InteractiveObject | ||
doubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。 | InteractiveObject | ||
dropTarget : DisplayObject [只读]
指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。 | Sprite | ||
emphasized : Boolean
获取或设置一个布尔值,指示当按钮处于弹起状态时,Button 组件周围是否绘有边框。 | Button | ||
enabled : Boolean [覆盖]
获取或设置一个值,指示组件能否接受用户输入。 | BaseButton | ||
filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。 | DisplayObject | ||
focusEnabled : Boolean
获取或设置一个布尔值,该值指示组件是否可以在用户单击它后获得焦点。 | UIComponent | ||
focusManager : IFocusManager
获取或设置为此组件及其同级组件控制焦点的 FocusManager。 | UIComponent | ||
focusRect : Object
指定此对象是否显示焦点矩形。 | InteractiveObject | ||
graphics : Graphics [只读]
指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘图命令。 | Sprite | ||
height : Number [覆盖]
获取或设置组件的高度,以像素为单位。 | UIComponent | ||
hitArea : Sprite
指定一个 sprite 用作另一个 sprite 的点击区域。 | Sprite | ||
label : String
获取或设置组件的文本标签。 | LabelButton | ||
labelPlacement : String
标签相对于指定图标的位置。 | LabelButton | ||
loaderInfo : LoaderInfo [只读]
返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 | DisplayObject | ||
mask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。 | DisplayObject | ||
metaData : Object
如果元数据是通过 PlaceObject4 标记与此 DisplayObject 的实例一起存储在 SWF 文件中的,则获取 DisplayObject 实例的元数据对象。 | DisplayObject | ||
mouseChildren : Boolean
确定对象的子级是否支持鼠标或用户输入设备。 | DisplayObjectContainer | ||
mouseEnabled : Boolean
指定此对象是否接收鼠标或其他用户输入、消息。 | InteractiveObject | ||
mouseFocusEnabled : Boolean
获取或设置一个值,该值指示组件是否可以在用户单击它后获得焦点。 | UIComponent | ||
mouseX : Number [只读]
表示此鼠标或用户输入设备位置的 x 坐标,以像素为单位。 | DisplayObject | ||
mouseY : Number [只读]
表示此鼠标或用户输入设备位置的 y 坐标,以像素为单位。 | DisplayObject | ||
name : String
表示 DisplayObject 的实例名称。 | DisplayObject | ||
needsSoftKeyboard : Boolean
指定当该 InteractiveObject 实例获得焦点时,是否显示虚拟键盘(显示在屏幕上的软键盘)。 | InteractiveObject | ||
numChildren : int [只读]
返回此对象的子项数目。 | DisplayObjectContainer | ||
opaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。 | DisplayObject | ||
parent : DisplayObjectContainer [只读]
表示包含此显示对象的 DisplayObjectContainer 对象。 | DisplayObject | ||
root : DisplayObject [只读]
对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。 | DisplayObject | ||
rotation : Number
表示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 | DisplayObject | ||
rotationX : Number
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。 | DisplayObject | ||
rotationY : Number
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。 | DisplayObject | ||
rotationZ : Number
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 z 轴旋转(以度为单位)。 | DisplayObject | ||
scale9Grid : Rectangle
当前有效的缩放网格。 | DisplayObject | ||
scaleX : Number [覆盖]
将组件的当前宽度与缩放系数相乘。 | UIComponent | ||
scaleY : Number [覆盖]
将组件的当前高度与缩放系数相乘。 | UIComponent | ||
scaleZ : Number
表示从对象的注册点开始应用的对象的深度缩放比例(百分比)。 | DisplayObject | ||
scrollRect : Rectangle
显示对象的滚动矩形范围。 | DisplayObject | ||
selected : Boolean [覆盖]
获取或设置一个布尔值,指示切换按钮是否已切换至打开或关闭位置。 | LabelButton | ||
softKeyboard : String
控制软键盘的外观。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
定义当显示软键盘时应在屏幕上保留的区域(在 iOS 上不支持)。 | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
控制此 sprite 中的声音。 | Sprite | ||
stage : Stage [只读]
显示对象的舞台。 | DisplayObject | ||
tabChildren : Boolean
确定对象的子项是否支持 Tab 键。 | DisplayObjectContainer | ||
tabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。 | InteractiveObject | ||
tabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。 | InteractiveObject | ||
textField : flash.text:TextField
对组件内部文本字段的引用。 | LabelButton | ||
textSnapshot : flash.text:TextSnapshot [只读]
返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。 | DisplayObjectContainer | ||
toggle : Boolean
获取或设置一个布尔值,指示按钮能否进行切换。 | LabelButton | ||
transform : flash.geom:Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。 | DisplayObject | ||
useHandCursor : Boolean
布尔值,表示当指针滑过 buttonMode 属性设置为 true 的 sprite 时是否显示指针手形(手形光标)。 | Sprite | ||
visible : Boolean [覆盖]
获取或设置一个值,该值指示当前组件实例是否可见。 | UIComponent | ||
width : Number [覆盖]
获取或设置组件的宽度(以像素为单位)。 | UIComponent | ||
x : Number [覆盖]
获取或设置 x 坐标,该坐标表示组件在其父容器内沿 x 轴的位置。 | UIComponent | ||
y : Number [覆盖]
获取或设置 y 坐标,该坐标表示组件在其父容器内沿 y 轴的位置。 | UIComponent | ||
z : Number
表示 DisplayObject 实例相对于 3D 父容器沿 z 轴的 z 坐标位置。 | DisplayObject |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
Button()
创建新的 Button 组件实例。 | Button | ||
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | DisplayObjectContainer | ||
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
表示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。 | DisplayObjectContainer | ||
删除此组件实例的样式属性。 | UIComponent | ||
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。 | DisplayObjectContainer | ||
将事件调度到事件流中。 | EventDispatcher | ||
在此组件上显示或隐藏焦点指示符。 | UIComponent | ||
启动立即绘制操作,但不像 invalidateNow 那样使全部设置失效。 | UIComponent | ||
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。 | DisplayObject | ||
返回位于指定索引处的子显示对象实例。 | DisplayObjectContainer | ||
返回具有指定名称的子显示对象。 | DisplayObjectContainer | ||
返回 DisplayObject 的 child 实例的索引位置。 | DisplayObjectContainer | ||
检索当前具有焦点的对象。 | UIComponent | ||
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。 | DisplayObjectContainer | ||
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。 | DisplayObject | ||
检索组件的样式查找链中设置的样式属性。 | UIComponent | ||
[静态]
检索当前组件的默认样式映射。 | Button | ||
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。 | DisplayObject | ||
将二维点从舞台(全局)坐标转换为三维显示对象的(本地)坐标。 | DisplayObject | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
计算显示对象的边框,以确定它是否与 obj 显示对象的边框重叠或相交。 | DisplayObject | ||
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。 | DisplayObject | ||
在未另外指定的情况下,将属性标记为无效,并在下一帧上重绘组件。 | UIComponent | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
将三维显示对象的(本地)坐标的三维点转换为舞台(全局)坐标中的二维点。 | DisplayObject | ||
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 | DisplayObject | ||
[静态]
将多个类的样式合并到一个对象中。 | UIComponent | ||
将组件移动到其父项内的指定位置。 | UIComponent | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。 | DisplayObjectContainer | ||
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。 | DisplayObjectContainer | ||
从 DisplayObjectContainer 实例的子级列表中删除所有子 DisplayObject 实例。 | DisplayObjectContainer | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
显示虚拟键盘。 | InteractiveObject | ||
更改现有子项在显示对象容器中的位置。 | DisplayObjectContainer | ||
设置此组件的焦点。 | UIComponent | ||
通过 ActionScript 设置鼠标状态。 | BaseButton | ||
设置循环操作动态属性的可用性。 | Object | ||
将组件设置为指定宽度和高度。 | UIComponent | ||
对此组件实例设置样式属性。 | UIComponent | ||
允许用户拖动指定的 Sprite。 | Sprite | ||
使用户可以在启用触摸的设备上拖动指定的 Sprite。 | Sprite | ||
对源起于此对象的所有 MovieClip 递归停止时间轴执行。 | DisplayObjectContainer | ||
结束 startDrag() 方法。 | Sprite | ||
结束 startTouchDrag() 方法,用于启用触摸的设备。 | Sprite | ||
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。 | DisplayObjectContainer | ||
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。 | DisplayObjectContainer | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
验证并更新此对象的属性和布局,如果需要的话重绘对象。 | UIComponent | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
受保护的方法
样式
样式为常见样式,或与特定主题关联。如果为常见样式,则可以用于任何主题。如果样式与特定主题关联,则只有应用程序使用该主题时才能使用该样式。
常见样式
样式 | 说明 | 由以下参数定义 | ||
---|---|---|---|---|
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作禁用按钮时的图标. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当未选择按钮且按钮已被禁用时背景和边框的外观. | LabelButton | |||
类型: flash.text.TextFormat 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 用于在禁用了按钮的情况下呈现组件标签的 TextFormat 对象. | UIComponent | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当未选择按钮而按下了鼠标按键时的图标. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当未选择按钮而按下了鼠标按键时背景和边框的外观. | LabelButton | |||
类型: Boolean 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 指示是否使用嵌入字体轮廓呈现文本字段. | LabelButton | |||
emphasizedPadding | 类型: Number 格式: Length 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 应用于强调外观中的按钮周围的填充(以像素为单位)。 默认值为 2 。 | Button | ||
emphasizedSkin | 类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 强调按钮使用的外观。 默认值为 Button_emphasizedSkin 。 | Button | ||
类型: Number 格式: Length 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 用于分隔组件的外边框和焦点指示符的外边框的填充(以像素为单位). | UIComponent | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 用于显示焦点指示符的外观. | UIComponent | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当未选择切换按钮且鼠标光标不在按钮上方时的图标. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当未选择按钮且鼠标光标在组件上方时的图标. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当未选择按钮且鼠标光标位于组件上方时背景和边框的外观. | LabelButton | |||
类型: Number 格式: Time 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 在第一次调度 buttonDown 事件之后,发送第二个 buttonDown 事件之前等待的时间(以毫秒为单位). | LabelButton | |||
类型: Number 格式: Time 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 在由 repeatDelay 样式指定的延迟之后调度的 buttonDown 事件之间的间隔(以毫秒为单位). | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当选择了按钮而按钮已被禁用时的图标. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当选择了切换按钮而切换按钮已被禁用时背景和边框的外观. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当选择了按钮且按下了鼠标按键时的图标. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当选择了切换按钮且按下了鼠标按键时背景和边框的外观. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当选择了按钮且鼠标光标在组件上方时的图标. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当选择了切换按钮且鼠标光标在组件上方时背景和边框的外观. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当选择了按钮且松开了鼠标按键时的图标. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当选择了切换按钮且鼠标光标不在组件上方时背景和边框的外观. | LabelButton | |||
类型: flash.text.TextFormat 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 用于呈现组件标签的 TextFormat 对象. | UIComponent | |||
类型: Number 格式: Length 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 文本和组件边缘之间的距离,以及文本和图标之间的距离(以像素为单位). | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当未选择切换按钮且鼠标光标不在按钮上方时的图标. | LabelButton | |||
类型: Class 语言版本: ActionScript 3.0 产品版本: Flash CS3 运行时版本: Flash9.0.28.0, AIR 1.0 类的名称,该类用作当未选择按钮且鼠标光标不在组件上方时背景和边框的外观. | LabelButton |
属性详细信息
emphasized | 属性 |
emphasized:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
获取或设置一个布尔值,指示当按钮处于弹起状态时,Button 组件周围是否绘有边框。 true
值指示当按钮处于弹起状态时其四周带有边框;false
值指示当按钮处于弹起状态时其四周不带边框。
默认值为 false。
实现
public function get emphasized():Boolean
public function set emphasized(value:Boolean):void
相关 API 元素
示例 ( 如何使用本示例 )
下例根据 Slider 组件的值设置 Button 实例的
emphasizedPadding
样式:
import fl.controls.Button; import fl.controls.Slider; import fl.events.SliderEvent; var styleObject:Object = Button.getStyleDefinition(); var defaultEmphasizedPadding:uint = styleObject.emphasizedPadding; var myButton:Button = new Button(); myButton.label = "emphasizedPadding:" + defaultEmphasizedPadding; myButton.emphasized = true; myButton.width = 150; myButton.move(20, 20); addChild(myButton); var mySlider:Slider = new Slider(); mySlider.snapInterval = 1; mySlider.tickInterval = 1; mySlider.liveDragging = true; mySlider.value = defaultEmphasizedPadding; mySlider.width = myButton.width; mySlider.move(20, 60); mySlider.addEventListener(SliderEvent.CHANGE, changeHandler); addChild(mySlider); function changeHandler(event:SliderEvent):void { myButton.label = "emphasizedPadding:" + event.value; myButton.setStyle("emphasizedPadding", event.value); }
构造函数详细信息
Button | () | 构造函数 |
public function Button()
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
创建新的 Button 组件实例。
方法详细信息
getStyleDefinition | () | 方法 |
public static function getStyleDefinition():Object
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
检索当前组件的默认样式映射。 样式映射包含适合组件的类型,具体取决于组件使用的样式。 例如,disabledTextFormat
样式包含 null
值或 TextFormat 对象。 可以使用这些样式并对当前组件调用 setStyle()
。下面的代码覆盖指定组件上默认的 disabledTextFormat
样式:
componentInstance.setStyle("disabledTextFormat", new TextFormat());
Object — 默认样式对象。
|
相关 API 元素
示例 ( 如何使用本示例 )
下例为多个组件类创建一个样式浏览器:
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; }
示例 如何使用本示例
ButtonExample.as
此示例演示了如何动态创建按钮及设置按钮样式。
- 将 Button 添加到库中。
- 将该代码作为 ButtonExample.as 另存到 FLA 文件所在的同一目录中。
- 将 FLA 中的 DocumentClass 设置为 ButtonExample。
package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFormat; import fl.controls.Button; public class ButtonExample extends MovieClip { private var b1:Button; private var b2:Button; private var b3:Button; private var tf:TextField; public function ButtonExample() { createTraceField(); setupButtons(); } private function createTraceField():void { tf = new TextField(); tf.width = 200; tf.height = 400; tf.x = 200; tf.y = 10; addChild(tf); } private function setupButtons():void { b1 = new Button(); b2 = new Button(); b3 = new Button(); b1.move(10,10); b2.move(10,40); b3.move(10,70); b1.label = "Default Button"; b2.label = "Custom Styled Button"; b3.label = "Toggleable Button"; b2.setStyle("textFormat", new TextFormat("Georgia")); b3.width = 120; b3.toggle = true; b1.addEventListener(MouseEvent.CLICK,buttonClick); b2.addEventListener(MouseEvent.CLICK,buttonClick); b3.addEventListener(MouseEvent.CLICK,buttonClick); addChild(b1); addChild(b2); addChild(b3); } private function buttonClick(e:MouseEvent) { var button:Button = Button(e.target); tf.appendText(button.label + "\n"); } } }
Tue Jun 12 2018, 11:04 AM Z