使用 NumericStepper 组件

NumericStepper 组件允许用户逐个通过一组有序数字。该组件由显示在小上下箭头按钮旁边的文本框中的数字组成。用户按下按钮时,数字将按 stepSize 参数中指定的单位递增或递减,直到用户释放按钮或达到最大或最小值为止。NumericStepper 组件的文本框中的文本也是可编辑的。

每个 NumericStepper 实例的实时预览反映了“属性”检查器或“组件”检查器中 value 参数的设置。但是,在实时预览中,无法通过鼠标或键盘与 NumericStepper 的箭头按钮进行交互。

与 NumericStepper 组件的用户交互

NumericStepper 组件可用于任何您想让用户选择数值的场合。例如,可以在表单中使用 NumericStepper 组件来设置信用卡到期日期的月、日和年。还可以使用 NumericStepper 组件来允许用户改变字体大小。

NumericStepper 组件只处理数值数据。此外,要显示两个以上的数值位置(如数字 5246 或 1.34),您在创作时必须调整步进器的大小。

可以在应用程序中启用或禁用 NumericStepper。在禁用状态下,NumericStepper 不接收鼠标或键盘输入。当 NumericStepper 处于启用状态时,如果单击它或通过 Tab 切换到它,则它将获得焦点,且其内部焦点会设置到文本框。当 NumericStepper 实例具有焦点时,可以使用以下键来控制它:

说明

向下箭头

值一次变化一个单位。

向左箭头

在文本框中将插入点向左移动。

向右箭头

在文本框中将插入点向右移动。

Shift+Tab

将焦点移到前一个对象。

Tab

将焦点移到下一个对象。

向上箭头

值一次变化一个单位。

有关控制焦点的详细信息,请参阅 《用于 Adobe® Flash® Professional CS5 的 ActionScript® 3.0 参考》 中的 FocusManager 类以及 使用 FocusManager

NumericStepper 组件参数

您可以在“属性”检查器或“组件”检查器中为每个 NumericStepper 实例设置下列参数: maximum minimum stepSize value 。其中每个参数都有对应的同名 ActionScript 属性。有关这些参数的可能值的信息,请参阅 《用于 Adobe® Flash® Professional CS5 的 ActionScript® 3.0 参考》 中的 NumericStepper 类。

创建具有 NumericStepper 的应用程序

以下过程解释了如何在创作时将 NumericStepper 组件添加到应用程序。该示例将一个 NumericStepper 组件和一个 Label 组件放置到舞台上,然后在 NumericStepper 实例上创建一个 Event . CHANGE 事件的侦听器。当数字步进器中的值更改时,该示例会在 Label 实例的 text 属性中显示新值。

  1. 将 NumericStepper 组件从“组件”面板拖到舞台上。

  2. 在“属性”检查器中,输入实例名称 aNs

  3. 将 Label 组件从“组件”面板拖至舞台。

  4. 在“属性”检查器中,输入实例名称 aLabel

  5. 打开“动作”面板,在主时间轴中选择第 1 帧,然后输入以下 ActionScript 代码:

    import flash.events.Event; 
     
    aLabel.text = "value = " + aNs.value; 
     
    aNs.addEventListener(Event.CHANGE, changeHandler); 
    function changeHandler(event:Event) :void { 
        aLabel.text = "value = " + event.target.value; 
    };

    此示例将标签的 text 属性设置为 NumericStepper 的值。只要 NumericStepper 实例中的值发生变化, changeHandler() 函数就会更新标签的 text 属性。

  6. 选择“控制”>“测试影片”。

使用 ActionScript 创建 NumericStepper:

此示例使用 ActionScript 代码创建三个 NumericStepper,分别用于输入用户出生日期的月、日和年。该示例还为每个 NumericStepper 添加了用作提示和标识符的 Label。

  1. 创建一个新的 Flash (ActionScript 3.0) 文档。

  2. 将一个 Label 拖到“库”面板中。

  3. 将一个 NumericStepper 组件拖到“库”面板中。

  4. 打开“动作”面板,在主时间轴中选择第 1 帧,然后输入以下 ActionScript 代码:

    import fl.controls.Label; 
    import fl.controls.NumericStepper; 
     
    var dobPrompt:Label = new Label(); 
    var moPrompt:Label = new Label(); 
    var dayPrompt:Label = new Label(); 
    var yrPrompt:Label = new Label(); 
     
    var moNs:NumericStepper = new NumericStepper(); 
    var dayNs:NumericStepper = new NumericStepper(); 
    var yrNs:NumericStepper = new NumericStepper(); 
     
    addChild(dobPrompt); 
    addChild(moPrompt); 
    addChild(dayPrompt); 
    addChild(yrPrompt); 
    addChild(moNs); 
    addChild(dayNs); 
    addChild(yrNs); 
     
    dobPrompt.setSize(65, 22); 
    dobPrompt.text = "Date of birth:"; 
    dobPrompt.move(80, 150); 
     
    moNs.move(150, 150); 
    moNs.setSize(40, 22); 
    moNs.minimum = 1; 
    moNs.maximum = 12; 
    moNs.stepSize = 1; 
    moNs.value = 1; 
     
    moPrompt.setSize(25, 22); 
    moPrompt.text = "Mo."; 
    moPrompt.move(195, 150); 
     
    dayNs.move(225, 150); 
    dayNs.setSize(40, 22); 
    dayNs.minimum = 1; 
    dayNs.maximum = 31; 
    dayNs.stepSize = 1; 
    dayNs.value = 1; 
     
    dayPrompt.setSize(25, 22); 
    dayPrompt.text = "Day"; 
    dayPrompt.move(270, 150); 
     
    yrNs.move(300, 150); 
    yrNs.setSize(55, 22); 
    yrNs.minimum = 1900; 
    yrNs.maximum = 2006; 
    yrNs.stepSize = 1; 
    yrNs.value = 1980; 
     
    yrPrompt.setSize(30, 22); 
    yrPrompt.text = "Year"; 
    yrPrompt.move(360, 150);
  5. 选择“控制”>“测试影片”以运行此应用程序。