在flex中更改运行时的标签文本

时间:2011-10-17 10:32:53

标签: actionscript-3 flex actionscript flash-builder

我在运行时创建了一个组,然后在其中添加了两个按钮和一个标签

addElement (myGroup )

myGroup.addElement ( button 1 )
myGroup.addElement ( label )
myGroup.addElement ( button 2 )

现在,当我点击一个按钮2时,我可以得到event.currentTarget.

如何使用此event.currentTarget更改标签文字。我如何定位标签

5 个答案:

答案 0 :(得分:2)

我相信这可以解决你的问题 当您创建标签对象时,为其提供id。这样您就可以使用此“id”通过应用程序访问标签。您可以使用此id.text

更改文字

或者您可以使用group objectId组。像这一个  groupObjectID.getElementAt(index).text

答案 1 :(得分:0)

您可以使用'as'运算符

来查看event.currentTarget是否为Label

var lbl:Label = event.currentTarget as Label; if (lbl) { //do rest of processing }

答案 2 :(得分:0)

为您的标签label.name='lblSomething'命名。
然后你可以访问 var mylabel:Label = myGroup.getChildByName(lblSomething) as Label

答案 3 :(得分:0)

尝试var labelStr:String = event.currentTarget.label;

答案 4 :(得分:0)

实际上我建议您尽可能尝试将这些标签和按钮创建为公共或私有对象,以便始终可以使用对象ID引用它们。

这也是一个很好的做法......只需2美分。

public var t_label:Label = new Label (); // t_ just stands for temporary... nothing special
myGroup.addElement (this.t_label);

然后在ANY事件处理程序中,您可以编写类似这样的内容来更改标签文本。

private function onWhateverHandler (event:Event):void
{
    this.t_label.text = "whatever new string value";
}