| 包 | fl.controls |
| 类 | public class Button |
| 继承 | Button LabelButton BaseButton UIComponent Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
| 实现 | IFocusManagerComponent |
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
Button 组件通常与事件处理函数方法关联,该方法将侦听 click 事件,并在 click 事件被调度后执行指定任务。 当用户单击启用的按钮时,该按钮调度 click 和 buttonDown 事件。 即使按钮尚未启用,它也可以调度其它事件,其中包括:mouseMove、mouseOver、mouseOut、rollOver、rollOut、mouseDown 和 mouseUp。
可以通过将不同的外观与每个按钮状态关联来更改按钮外观。 还可以将 Button 组件设置为执行普通按钮或切换按钮功能。
| 属性 | 定义方 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。
| DisplayObject | |
![]() | alpha : Number
指示指定对象的 Alpha 透明度值。
| DisplayObject | |
![]() | autoRepeat : Boolean
获取或设置一个布尔值,该值指示是否当用户在组件上按住鼠标按键时重复调度 buttonDown 事件。
| BaseButton | |
![]() | 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 | |
| emphasized : Boolean
获取或设置一个布尔值,指示当按钮处于弹起状态时,Button 组件周围是否绘有边框。
| Button | ||
![]() | enabled : Boolean
获取或设置一个值,指示组件能否接受用户输入。
| BaseButton | |
![]() | 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 | |
![]() | label : String
获取或设置组件的文本标签。
| LabelButton | |
![]() | labelPlacement : String
标签相对于指定图标的位置。
| LabelButton | |
![]() | 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 | |
![]() | selected : Boolean
获取或设置一个布尔值,指示切换按钮是否已切换至打开或关闭位置。
| LabelButton | |
![]() | soundTransform : SoundTransform
控制此 sprite 中的声音。
| Sprite | |
![]() | stage : Stage
[read-only]
显示对象的舞台。
| DisplayObject | |
![]() | tabChildren : Boolean
确定对象的子项是否支持 Tab 键。
| DisplayObjectContainer | |
![]() | tabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。
| InteractiveObject | |
![]() | tabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。
| InteractiveObject | |
![]() | textField : TextField
对组件内部文本字段的引用。
| LabelButton | |
![]() | textSnapshot : TextSnapshot
[read-only]
返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。
| DisplayObjectContainer | |
![]() | toggle : Boolean
获取或设置一个布尔值,指示按钮能否进行切换。
| LabelButton | |
![]() | 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 | |
| 方法 | 定义方 | ||
|---|---|---|---|
|
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 | |
|
[static]
检索当前组件的默认样式映射。
| Button | ||
![]() |
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。
| DisplayObject | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
| EventDispatcher | |
![]() |
指示对象是否已经定义了指定的属性。
| Object | |
![]() |
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。
| DisplayObject | |
![]() |
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。
| DisplayObject | |
![]() |
在未另外指定的情况下,将属性标记为无效,并在下一帧上重绘组件。
| UIComponent | |
![]() |
指示 Object 类的实例是否在指定为参数的对象的原型链中。
| Object | |
![]() |
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。
| DisplayObject | |
![]() |
[static]
将多个类的样式合并到一个对象中。
| UIComponent | |
![]() |
将组件移动到其父项内的指定位置。
| UIComponent | |
![]() |
指示指定的属性是否存在、是否可枚举。
| Object | |
![]() |
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。
| DisplayObjectContainer | |
![]() |
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。
| DisplayObjectContainer | |
![]() |
从 EventDispatcher 对象中删除侦听器。
| EventDispatcher | |
![]() |
更改现有子项在显示对象容器中的位置。
| DisplayObjectContainer | |
![]() |
设置此组件的焦点。
| UIComponent | |
![]() |
通过 ActionScript 设置鼠标状态。
| BaseButton | |
![]() |
设置循环操作动态属性的可用性。
| Object | |
![]() |
将组件设置为指定宽度和高度。
| UIComponent | |
![]() |
对此组件实例设置样式属性。
| UIComponent | |
![]() |
允许用户拖动指定的 Sprite。
| Sprite | |
![]() |
结束 startDrag() 方法。
| Sprite | |
![]() |
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。
| DisplayObjectContainer | |
![]() |
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。
| DisplayObjectContainer | |
![]() |
返回指定对象的字符串表示形式。
| Object | |
![]() |
验证并更新此对象的属性和布局,如果需要的话重绘对象。
| UIComponent | |
![]() |
返回指定对象的原始值。
| Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
| EventDispatcher | |
| 样式 | 说明 | 定义方 | ||
|---|---|---|---|---|
![]() | 类型: Class 类的名称,该类用作未禁用按钮时的图标。 默认值为 null. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当未选择按钮且按钮已被禁用时背景和边框的外观。 默认值为 Button_disabledSkin. | LabelButton | ||
![]() | 类型: flash.text.TextFormat 用于在禁用了按钮的情况下呈现组件标签的 TextFormat 对象。 默认值为 TextFormat("_sans", 11, 0x999999, false, false, false, '', '', TextFormatAlign.LEFT, 0, 0, 0, 0). | UIComponent | ||
![]() | 类型: Class 类的名称,该类用作当未选择按钮而按下了鼠标按键时的图标。 默认值为 null. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当未选择按钮而按下了鼠标按键时背景和边框的外观。 默认值为 Button_downSkin. | LabelButton | ||
![]() | 类型: Boolean 指示是否使用嵌入字体轮廓呈现文本字段。 如果该值为 true,则 Flash Player 使用嵌入字体轮廓呈现文本字段。 如果该值为 false,则 Flash Player 使用设备字体呈现文本字段。 如果将文本字段的 embedFonts 属性设置为 true,则必须使用应用于该文本字段的 TextFormat 对象的 font 属性来指定该文本的字体。 如果指定的字体没有嵌入 SWF 文件中,则不会显示该文本。 默认值为 false. | LabelButton | ||
|
emphasizedPadding
| 类型: Number 格式: Length 应用于强调外观中的按钮周围的填充(以像素为单位)。 默认值为 2. | Button | ||
|
emphasizedSkin
| 类型: Class 强调按钮使用的外观。 默认值为 Button_emphasizedSkin. | Button | ||
![]() | 类型: Number 格式: Length 用于分隔组件的外边框和焦点指示符的外边框的填充(以像素为单位)。 默认值为 2. | UIComponent | ||
![]() | 类型: Class 用于显示焦点指示符的外观。 默认值为 focusRectSkin. | UIComponent | ||
![]() | 类型: Class 类的名称,该类用作当未选择切换按钮且鼠标光标不在按钮上方时的图标。 默认值为 null. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当未选择按钮且鼠标光标在组件上方时的图标。 默认值为 null. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当未选择按钮且鼠标光标位于组件上方时背景和边框的外观。 默认值为 Button_overSkin. | LabelButton | ||
![]() | 类型: Number 格式: Time 在第一次调度 buttonDown 事件之后、发送第二个 buttonDown 事件之前等待的毫秒数。. 默认值为 500. | LabelButton | ||
![]() | 类型: Number 格式: Time 在由 repeatDelay 样式指定的延迟之后调度的 buttonDown 事件之间的间隔(以毫秒为单位)。. 默认值为 35. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当选择了按钮而按钮已被禁用时的图标。 默认值为 null. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当选择了切换按钮而切换按钮已被禁用时背景和边框的外观。 默认值为 Button_selectedDisabledSkin. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当选择了按钮且按下了鼠标按键时的图标。 默认值为 null. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当选择了切换按钮且按下了鼠标按键时背景和边框的外观。 默认值为 Button_selectedDownSkin. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当选择了按钮且鼠标光标在组件上方时的图标。 默认值为 null. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当选择了切换按钮且鼠标光标在组件上方时背景和边框的外观。 默认值为 Button_selectedOverSkin. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当选择了按钮且松开了鼠标按键时的图标。 默认值为 null. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当选择了切换按钮且鼠标光标不在组件上方时背景和边框的外观。 默认值为 Button_selectedUpSkin. | LabelButton | ||
![]() | 类型: flash.text.TextFormat 用于呈现组件标签的 TextFormat 对象。 默认值为 TextFormat("_sans", 11, 0x000000, false, false, false, '', '', TextFormatAlign.LEFT, 0, 0, 0, 0). | UIComponent | ||
![]() | 类型: Number 格式: Length 文本和组件边缘之间的距离,以及文本和图标之间的距离(以像素为单位)。 默认值为 5. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当未选择切换按钮且鼠标光标不在按钮上方时的图标。 默认值为 null. | LabelButton | ||
![]() | 类型: Class 类的名称,该类用作当未选择按钮且鼠标光标不在组件上方时背景和边框的外观。 默认值为 Button_upSkin. | LabelButton | ||
| emphasized | 属性 |
emphasized:Boolean [read-write]
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9.0.28.0 |
获取或设置一个布尔值,指示当按钮处于弹起状态时,Button 组件周围是否绘有边框。 true 值指示当按钮处于弹起状态时其四周带有边框;false 值指示当按钮处于弹起状态时其四周不带边框。
默认值为 false.
public function get emphasized():Boolean
public function set emphasized(value:Boolean):void
另请参见
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 |
| Player 版本 : | Flash Player 9.0.28.0 |
创建新的 Button 组件实例。
| 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 — 默认样式对象。
|
另请参见
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;
}若要运行该示例,请按照下列步骤操作:
package
{
import fl.controls.Button;
import fl.controls.TextArea;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextFormat;
public class ButtonExample extends Sprite
{
private var b1:Button;
private var b2:Button;
private var b3:Button;
private var ta:TextArea;
public function ButtonExample() {
createTraceField();
setupButtons();
}
private function createTraceField():void {
ta = new TextArea();
ta.setSize(200, 300);
ta.move(200, 10);
addChild(ta);
}
private function setupButtons():void {
b1 = new Button();
b2 = new Button();
b3 = new Button();
b1.width = 160;
b2.width = 160;
b3.width = 160;
b1.move(10,10);
b2.move(10,40);
b3.move(10,70);
b1.label = "Default Button";
b2.label = "Custom Styled Button";
b3.label = "Toggle Button";
b2.setStyle("textFormat", new TextFormat("Georgia"));
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 = e.target as Button;
ta.appendText(button.label + "\n");
}
}
}
当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/fl/controls/Button.html