使用 NumericStepper 組件

此 NumericStepper 組件可以讓使用者依序逐步增減數字。這個組件是由小型上下箭頭旁文字方塊內的數字所構成。當使用者按下按鈕時,數字會依據 stepSize 參數所指定的單位遞增或遞減,直到使用者放開按鈕或達到最大值或最小值為止。您還可以編輯 NumericStepper 組件文字方塊內的文字。

每個 NumericStepper 實體的即時預覽會反映「屬性」檢測器或「組件檢測器」中的 value 參數設定。但是,即時預覽下無法用滑鼠或鍵盤與 NumericStepper 的方向鍵互動。

與 NumericStepper 組件的使用者互動

在您希望使用者選取數值的任何地方,NumericStepper 組件都能派上用場。例如,您可以在表單中使用 NumericStepper 組件,設定信用卡到期的年、月、日。您也可以使用 NumericStepper 組件讓使用者加大或縮小字體。

NumericStepper 組件只能處理數值資料。而且,如果要顯示超過兩位數字 (例如數字 5246 或 1.34),編寫時必須調整步進器的大小。

您可以在應用程式中啟用或停用 NumericStepper。處於停用狀態的 NumericStepper 不接受滑鼠或鍵盤輸入。當 NumericStepper 啟用時,如果您按一下或用 Tab 鍵移到該組件,它就會成為焦點,且其內部焦點設定為文字方塊。在 NumericStepper 實體成為焦點後,您可以使用下列按鍵加以控制:

按鍵

說明

向下鍵

值變更一個單位。

向左鍵

將插入點移到文字方塊內的左邊。

向右鍵

將插入點移到文字方塊內的右邊。

Shift+Tab

將焦點移到上一個物件。

Tab 鍵

將焦點移到下一個物件。

向上鍵

值變更一個單位。

如需有關控制焦點的詳細資訊,請參閱 Flash Professional 的 ActionScript 3.0 參考 中的「FocusManager 類別」,以及 使用 FocusManager

NumericStepper 組件參數

您可以在「屬性」檢測器或「組件檢測器」中,為每個 NumericStepper 實體設定下列參數: maximum minimum stepSize value 。這些參數都具有相對應的 ActionScript 同名屬性。如需有關這些參數可能值的詳細資訊,請參閱 Flash Professional 的 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,以供使用者分別輸入生日的月份、日期及年份。另外還會加入三個 Label,做為每個 NumericStepper 的提示文字和識別項。

  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. 選取「控制 > 測試影片」,執行應用程式。