Actionscript 3 使用ActionScript修改flex hslider上的标签
我有一个HSlider,有两个标签,一个开始年份,一个结束年份。每一年结束时,结束年份都会递增,我希望滑块上的标签显示最近一个结束年份 我尝试过更改slider.labels[1]&当我在调试中查看它时,它会更改值,但不会在屏幕上。我尝试了一个可绑定变量,在调试中再次看到标签[1]的更改,但该值没有显示在屏幕上Actionscript 3 使用ActionScript修改flex hslider上的标签,actionscript-3,apache-flex,flex3,Actionscript 3,Apache Flex,Flex3,我有一个HSlider,有两个标签,一个开始年份,一个结束年份。每一年结束时,结束年份都会递增,我希望滑块上的标签显示最近一个结束年份 我尝试过更改slider.labels[1]&当我在调试中查看它时,它会更改值,但不会在屏幕上。我尝试了一个可绑定变量,在调试中再次看到标签[1]的更改,但该值没有显示在屏幕上 hsStart.labels[0] = acResult[0].RATE_MIN; hsStart.labels[1] = acResult[0].UP_RANGE; 或 \u ary
hsStart.labels[0] = acResult[0].RATE_MIN;
hsStart.labels[1] = acResult[0].UP_RANGE;
或
\u aryllabels[0]=acResult[0]。速率\u MIN;
_aryLabels[1]=acResult[0]。向上范围;
hsStart.invalidateDisplayList();
这看起来很简单,有人有什么想法吗
保罗你可以这样做:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" minWidth="955" minHeight="600" creationComplete="init()">
<mx:Script>
<![CDATA[
[Bindable]private var lastYear:int = 2008;
private function init():void
{
updateLabels();
}
protected function onIncYear(event:MouseEvent):void
{
lastYear++;
hsStart.maximum = lastYear;
updateLabels();
}
private function updateLabels():void
{
hsStart.labels = [hsStart.minimum, hsStart.maximum];
}
]]>
</mx:Script>
<mx:HSlider
id="hsStart"
minimum="1981"
maximum="{lastYear}"
snapInterval="1"
tickInterval="4"
liveDragging="true"
width="527"
thumbCount="2"
allowThumbOverlap="true"
horizontalCenter="190"
top="118"
fillColors="[0xff0000, 0x00ff00, 0xff0000, 0x00ff00]"/>
<mx:Button x="698" y="36" label="Increment Year" click="onIncYear(event)"/>
</mx:Application>
不要执行hsStart.invalidateDisplayList();注释掉hsStart.invalidateDisplayList();没有帮助。我本来是这样开始的,但我回去评论了一下,以确保这一点。你说的“展示最近一个关闭的年份”是什么意思?你想根据程序的使用日期更新你的右边标签吗?安东,这正是我想做的。我的代码显示,根据我从数据库中获得的数据,我正在尝试更新这两个标签。我有点困惑,使用最小值和最大值很顺利,但我真的很欣赏成功。谢谢你,安东。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" minWidth="955" minHeight="600" creationComplete="init()">
<mx:Script>
<![CDATA[
[Bindable]private var lastYear:int = 2008;
private function init():void
{
updateLabels();
}
protected function onIncYear(event:MouseEvent):void
{
lastYear++;
hsStart.maximum = lastYear;
updateLabels();
}
private function updateLabels():void
{
hsStart.labels = [hsStart.minimum, hsStart.maximum];
}
]]>
</mx:Script>
<mx:HSlider
id="hsStart"
minimum="1981"
maximum="{lastYear}"
snapInterval="1"
tickInterval="4"
liveDragging="true"
width="527"
thumbCount="2"
allowThumbOverlap="true"
horizontalCenter="190"
top="118"
fillColors="[0xff0000, 0x00ff00, 0xff0000, 0x00ff00]"/>
<mx:Button x="698" y="36" label="Increment Year" click="onIncYear(event)"/>
</mx:Application>