0

if ステートメントで定義されているものを表示するには、SLabel text=" " に何を配置する必要がありますか? これまでの私のコードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

<fx:Script>
    <![CDATA[
        import mx.events.SliderEvent;
        protected function ValueSlider_changeHandler(event:SliderEvent):void
    {
        ValueLabel.text = String(ValueSlider.value);
            if(String(ValueSlider.value) == "0")
            ValueLabel.text = "150";
            if(String(ValueSlider.value) == "1")
            ValueLabel.text = "333";
            if(String(ValueSlider.value) == "2")
            ValueLabel.text = "543";
            if(String(ValueSlider.value) == "3")
            ValueLabel.text = "9342";
    }
    ]]>
</fx:Script>
<s:Panel x="199" y="141" width="250" height="200">
    <s:HSlider id="ValueSlider" x="78" y="69" maximum="3" minimum="0" stepSize="1" value="1"/>
    <s:Label id="ValueLabel" x="109" y="38" text= "{ValueLabel.text}"/>
</s:Panel>

4

1 に答える 1

0

mx.events.SliderEvent をインポートします。

<s:HSlider id="ValueSlider" x="78" y="69" maximum="3" minimum="0" stepSize="1" value="1"/>

s:HSliderスパークにはSliderEventがありません

s:HSliderはmx:HSliderにバインドする必要が あります。mx:HSlider はありませんstepSizeので削除してください。
「ValueSlider_changeHandler(event)」を有効にするには、次のように設定する必要があります。

change="ValueSlider_changeHandler(event)"

完全なライン:

    <mx:HSlider id="ValueSlider" x="78" y="69" maximum="3" minimum="0" value="1" change="ValueSlider_changeHandler(event)"/>

次のようになります。

     <fx:Script>
        <![CDATA[
            import mx.events.SliderEvent;
            private var slvalue:int = 0;
            protected function ValueSlider_changeHandler(event:SliderEvent):void
            {
                slvalue = ValueSlider.value;
                if(slvalue == 0)
                    ValueLabel.text = "150";
                if(slvalue == 1)
                    ValueLabel.text = "333";
                if(slvalue == 2)
                    ValueLabel.text = "543";
                if(slvalue == 3)
                    ValueLabel.text = "9342";
            }
        ]]>
    </fx:Script>
    <s:Panel x="199" y="141" width="250" height="200">
        <mx:HSlider id="ValueSlider" x="78" y="69" maximum="3" minimum="0" value="1" change="ValueSlider_changeHandler(event)"/>
        <s:Label id="ValueLabel" x="109" y="38" text= "{ValueLabel.text}"/>
    </s:Panel>

次のようにテストすることはできません:

ValueLabel.text = String(ValueSlider.value);
            if(String(ValueSlider.value) == "0")
            ValueLabel.text = "150";

ValueLabel.text = "150"は次のイベントによってすぐに上書きされます!!!

ローカル変数に保存してください!その上:slvalue

于 2012-11-04T23:34:25.980 に答える