2017-02-24 8 views

答えて

2

ユーザーがは、以下のようNumericStepperあなたが入力した番号が範囲内にあるかどうかを確認するためにあなたのロジックを置くことができるのtext inputからキーまたはfocus outをENTERヒット:私は、TextFieldプロパティを見つけることができません

<?xml version="1.0"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark"> 
<fx:Script><![CDATA[ 
    import mx.controls.Alert; 

    private var isProcessRequiredOnFocusOut:Boolean = true; 

    private function addEventListeners():void { 
     numericStepper.addEventListener(KeyboardEvent.KEY_DOWN, checkRange, true); 
     numericStepper.addEventListener(FocusEvent.FOCUS_OUT, checkRange, true); 
    } 

    private function checkRange(event:Event):void { 
     if (event is KeyboardEvent && (event as KeyboardEvent).keyCode == Keyboard.ENTER) { 
      isProcessRequiredOnFocusOut = false; 
      processRangeCheck(); 
     } 
     else if (event is FocusEvent && (event as FocusEvent).type == FocusEvent.FOCUS_OUT 
       && isProcessRequiredOnFocusOut) { 
      processRangeCheck(); 
     } 
    } 

    private function processRangeCheck():void { 
     var typedNumber:Number = Number(numericStepper.textDisplay.text); 
     if (typedNumber > numericStepper.maximum || typedNumber < numericStepper.minimum) { 
      Alert.show("The typed number " + typedNumber + " is out of range.", "Out of Range Warning"); 
     } 
     isProcessRequiredOnFocusOut = true; 
    } 
    ]]></fx:Script> 
<s:Panel title="Show Error message when Typed Number is out of range in Numeric Stepper." 
      verticalCenter="0" horizontalCenter="0"> 
    <s:VGroup paddingTop="10" paddingLeft="10" 
       paddingRight="10" paddingBottom="10" 
       horizontalAlign="center" 
       width="100%"> 
     <s:Label text="The valid range of Numeric Stepper is 10-20."/> 
     <s:NumericStepper id="numericStepper" 
          minimum="10" 
          maximum="20" 
          creationComplete="addEventListeners()"/> 
     <s:Button label="Click here to focus out from the Text Input of Numeric Stepper."/> 
    </s:VGroup> 
</s:Panel> 
</s:Application> 
+0

それは私のために働く。どうもありがとうございました – Waveter

2

まあ、最大、それはまだ入ったばかりだ-while NumericStepper部品の最小値に対して入力した値をチェックするための直感的な方法は、textField財産上KEY_UPのキーボードイベントに耳を傾けるだろう

import fl.controls.NumericStepper; 
import flash.events.KeyboardEvent; 

var numericStepper:NumericStepper = new NumericStepper(); 
numericStepper.maximum = 250; 
numericStepper.minimum = 3; 

numericStepper.textField.addEventListener(KeyboardEvent.KEY_UP, function(e:Event):void { 
    var n:Number = Number(numericStepper.textField.text); 
    if (n > numericStepper.maximum || n < numericStepper.minimum) { 
     trace("Error: Out of Range!"); 
    } 
}); 
addChild(numericStepper); 
+0

数値ステッパーの – Waveter

0

利用のNumericStepper

の入力フィールドを参照するmx_internalプロパティ: NumericStepperインスタンスの10
関連する問題