Button 组件是一个可调整大小的矩形按钮,用户可以用鼠标或空格键将其按下以在应用程序中启动某个操作。可以给 Button 添加一个自定义图标。也可以将 Button 的行为从按下改为切换。在单击切换 Button 后,它将保持按下状态,直到再次单击时才会返回到弹起状态。
Button 是许多表单和 Web 应用程序的基础部分。每当您需要让用户启动一个事件时,都可以使用按钮实现。例如,大多数表单都有“提交”按钮。您也可以给演示文稿添加“前一个”和“后一个”按钮。
与 Button 组件进行用户交互
可以在应用程序中启用或者禁用按钮。在禁用状态下,按钮不接收鼠标或键盘输入。如果单击或者切换到处于启用状态的按钮,该按钮就会获得焦点。当一个 Button 实例具有焦点时,您可以使用下列按键来控制它:
键
|
说明
|
Shift+Tab
|
将焦点移到前一个对象。
|
空格键
|
按下或释放按钮并触发
click
事件。
|
Tab
|
将焦点移到下一个对象。
|
Enter/Return
|
如果按钮设置为 FocusManager 的默认 Button,则将焦点移到下一个对象。
|
有关控制焦点的详细信息,请参阅
《用于 Adobe® Flash® Professional CS5 的 ActionScript® 3.0 参考》
中的 IFocusManager 接口和 FocusManager 类以及
使用 FocusManager
。
每个 Button 实例的实时预览反映在创作过程中对“属性”检查器或“组件”检查器中的参数所做的更改。
注:
如果图标比按钮大,则图标将会延伸到按钮的边框之外。
若要将应用程序中的某个按钮指定为默认的普通按钮(当用户按 Enter 时接收单击事件的按钮),请设置
FocusManager.defaultButton
。例如,以下代码将默认按钮设置为名为
submitButton
的 Button 实例。
FocusManager.defaultButton = submitButton;
在将 Button 组件添加到应用程序时,可以添加以下数行 ActionScript 代码,使屏幕阅读器能够访问它:
import fl.accessibility.ButtonAccImpl;
ButtonAccImpl.enableAccessibility();
无论为一个组件创建了多少个实例,只需要对它启用辅助功能一次。
Button 组件参数
您可以在“属性”检查器(“窗口”>“属性”>“属性”)或“组件”检查器(“窗口”>“组件检查器”)中为每个 Button 实例设置下列创作参数:
emphasized
、
label
、
labelPlacement
、
selected
和
toggle
。其中每个参数都有对应的同名 ActionScript 属性。为这些参数赋值时,将设置应用程序中属性的初始状态。在 ActionScript 中设置的属性会覆盖在对应参数中设置的值。有关这些参数的可能值的信息,请参阅
《用于 Adobe® Flash® Professional CS5 的 ActionScript® 3.0 参考》
中的 Button 类。
创建具有 Button 组件的应用程序
以下过程解释了如何在创作时将 Button 组件添加到应用程序。在此示例中,当您单击 Button 时会更改 ColorPicker 组件的状态。
-
创建一个新的 Flash (ActionScript 3.0) 文档。
-
将一个 Button 组件从“组件”面板拖到舞台上,并在“属性”检查器中为该组件输入以下值:
-
输入实例名称
aButton
。
-
为 label 参数输入
Show
。
-
在舞台上添加 ColorPicker,并为它指定实例名称
aCp
。
-
打开“动作”面板,在主时间轴中选择第 1 帧,然后输入以下 ActionScript 代码:
aCp.visible = false;
aButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
switch(event.currentTarget.label) {
case "Show":
aCp.visible = true;
aButton.label = "Disable";
break;
case "Disable":
aCp.enabled = false;
aButton.label = "Enable";
break;
case "Enable":
aCp.enabled = true;
aButton.label = "Hide";
break;
case "Hide":
aCp.visible = false;
aButton.label = "Show";
break;
}
}
第二行代码将函数
clickHandler()
注册为
MouseEvent.CLICK
事件。 当用户单击 Button 时将发生该事件,从而使
clickHandler()
函数根据 Button 的值执行以下操作之一:
-
Show 使 ColorPicker 可见,并将 Button 的标签更改为 Disable。
-
Disable 禁用 ColorPicker,并将 Button 的标签更改为 Enable。
-
Enable 启用 ColorPicker,并将 Button 的标签更改为 Hide。
-
Hide 使 ColorPicker 不可见,并将 Button 的标签更改为 Show。
-
选择“控制”>“测试影片”以运行此应用程序。
创建具有 Button 组件的应用程序
以下过程使用 ActionScript 创建一个切换 Button,并且当单击该 Button 时在“输出”面板中显示事件类型。该示例通过调用类的构造函数创建一个 Button 实例,并通过调用下面的方法将该实例添加到舞台上:
addChild()
方法。
-
创建一个新的 Flash (ActionScript 3.0) 文档。
-
将 Button 组件从“组件”面板拖到当前文档的“库”面板中。
此操作将组件添加到库中,但不会在应用程序中显示该组件。
-
打开“动作”面板,在主时间轴中选择第 1 帧,然后输入以下代码创建一个 Button 实例:
import fl.controls.Button;
var aButton:Button = new Button();
addChild(aButton);
aButton.label = "Click me";
aButton.toggle =true;
aButton.move(50, 50);
move()
方法将按钮放在舞台的 50(x 坐标), 50(y 坐标)位置。
-
现在,添加以下 ActionScript 来创建一个事件侦听器和一个事件处理函数:
aButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
trace("Event type: " + event.type);
}
-
选择“控制”>“测试影片”。
单击按钮时,Flash 会在“输出”面板中显示消息“事件类型: 单击”。
|
|
|