CheckBox 是一个可以选中或取消选中的方框。当它被选中后,框中会出现一个复选标记。可以为 CheckBox 添加一个文本标签,并可以将它放在 CheckBox 的左侧、右侧、上面或下面。
可以使用 CheckBox 收集一组不相互排斥的
true
或
false
值。例如,如果应用程序需要收集有关您希望购买何种类型轿车的信息,那么可以使用 CheckBox 来供您选择轿车特征。
与 CheckBox 进行用户交互
可以在应用程序中启用或者禁用 CheckBox。如果 CheckBox 已启用,且用户单击它或者它的标签,则 CheckBox 会获得输入焦点并显示为按下状态。如果用户在按下鼠标按键时将鼠标指针移到 CheckBox 或其标签的边界区域之外,则组件的外观会返回到其原始状态,并保持输入焦点。在组件上释放鼠标之前,CheckBox 的状态不会更改。另外,CheckBox 有选中和取消选中两种禁用状态,这两种状态分别使用
selectedDisabledSkin
和
disabledSkin
设置,不允许鼠标或键盘的交互操作。
如果 CheckBox 被禁用,则无论用户进行什么交互操作,它都会显示其禁用外观。在禁用状态下,CheckBox 不接收鼠标或键盘输入。
如果用户单击 CheckBox 实例或者用 Tab 按键切换到它时,CheckBox 实例将接收焦点。当一个 CheckBox 实例有焦点时,您可以使用下列按键来控制它:
键
|
说明
|
Shift+Tab
|
将焦点移到前一个元素。
|
空格键
|
选中或者取消选中组件,并触发
change
事件。
|
Tab
|
将焦点移到下一个元素。
|
有关控制焦点的详细信息,请参阅
使用 FocusManager
和
《用于 Adobe® Flash® Professional CS5 的 ActionScript® 3.0 参考》
中的 FocusManager 类。
每个 CheckBox 实例的实时预览反映在创作过程中对“属性”检查器或“组件”检查器中的参数所做的更改。
在将 CheckBox 组件添加到应用程序时,可以添加以下数行 ActionScript 代码,使屏幕阅读器能够访问它:
import fl.accessibility.CheckBoxAccImpl;
CheckBoxAccImpl.enableAccessibility();
不管组件有多少实例,都只对组件启用一次辅助功能。
创建使用 CheckBox 的应用程序
以下过程解释了如何在创作时将 CheckBox 组件添加到应用程序,本示例摘自一个贷款申请表。该申请表询问申请人是否拥有自己的住房,并为申请人提供了一个 CheckBox 来回答“是”。如果是,则申请表将为申请人显示两个单选按钮,以表示房屋的相对价值。
创建使用 CheckBox 组件的应用程序
-
创建一个新的 Flash (ActionScript 3.0) 文档。
-
将 CheckBox 组件从“组件”面板拖到舞台上。
-
在属性检查器中,执行以下操作:
-
将两个 RadioButton 组件从“组件”面板拖到舞台上,并将它们放置在 CheckBox 的右下方。在“属性”检查器中为它们输入以下值:
-
输入
underRb
和
overRb
作为实例名称。
-
输入
120
作为两个单选按钮的 W(宽)参数。
-
输入
Under $500,000?
作为
underRb
的 label 参数。
-
输入
Over $500,000?
作为
overRb
的 label 参数。
-
输入
valueGrp
作为两个单选按钮的 groupName 参数。
-
打开“动作”面板,在主时间轴中选择第 1 帧,然后输入以下 ActionScript 代码:
homeCh.addEventListener(MouseEvent.CLICK, clickHandler);
underRb.enabled = false;
overRb.enabled = false;
function clickHandler(event:MouseEvent):void {
underRb.enabled = event.target.selected;
overRb.enabled = event.target.selected;
}
此代码为
CLICK
事件创建一个事件处理函数,如果选中
homeCh
CheckBox,则该函数启用
underRb
和
overRb
RadioButton,如果未选中
homeCh
,则禁用这两个 RadioButton。有关详细信息,请参阅
《用于 Adobe® Flash® Professional CS5 的 ActionScript® 3.0 参考》
中的 MouseEvent 类。
-
选择“控制”>“测试影片”。
以下示例重复了上述应用,但采用 ActionScript 来创建 CheckBox 和 RadioButton 组件。
使用 ActionScript 创建 CheckBox
-
创建一个新的 Flash (ActionScript 3.0) 文档。
-
将 CheckBox 组件和 RadioButton 组件从“组件”面板拖到当前文档的“库”面板中。如果“库”面板没有打开,请按 Ctrl+L 或选择“窗口”>“库”以打开“库”面板。
此操作使组件可用于应用程序,但不会将它们放在舞台上。
-
打开“动作”面板,在主时间轴中选择第 1 帧,然后输入以下代码创建并放置组件实例:
import fl.controls.CheckBox;
import fl.controls.RadioButton;
var homeCh:CheckBox = new CheckBox();
var underRb:RadioButton = new RadioButton();
var overRb:RadioButton = new RadioButton();
addChild(homeCh);
addChild(underRb);
addChild(overRb);
underRb.groupName = "valueGrp";
overRb.groupName = "valueGrp";
homeCh.move(200, 100);
homeCh.width = 120;
homeCh.label = "Own your home?";
underRb.move(220, 130);
underRb.enabled = false;
underRb.width = 120;
underRb.label = "Under $500,000?";
overRb.move(220, 150);
overRb.enabled = false;
overRb.width = 120;
overRb.label = "Over $500,000?";
此代码使用
CheckBox()
和
RadioButton()
构造函数创建组件,并使用
addChild()
方法将组件放在舞台上。然后,使用
move()
方法确定组件在舞台上的位置。
-
现在,添加以下 ActionScript 来创建一个事件侦听器和一个事件处理函数:
homeCh.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
underRb.enabled = event.target.selected;
overRb.enabled = event.target.selected;
}
此代码为
CLICK
事件创建一个事件处理函数,如果选中
homeCh
CheckBox,则该函数启用
underRb
和
overRb
单选按钮,如果未选中
homeCh
,则禁用这两个单选按钮。有关详细信息,请参阅
《用于 Adobe® Flash® Professional CS5 的 ActionScript® 3.0 参考》
中的 MouseEvent 类。
-
选择“控制”>“测试影片”。
|
|
|