2014-01-14 81 views
0

我有一个TextField,我试图使用对齐方式,它没有做任何事情。跟踪表示容器宽度为300,TextField宽度为100。一切都是导入的,没有错误。下面是一个测试类演示行为:AS3:TextFormatAlign没有做任何事情

public class TextFieldAligning extends Sprite 
{ 
    private var textField:TextField; 
    public function TextFieldAligning() 
    { 
     stage.scaleMode = StageScaleMode.NO_SCALE; 
     stage.align = StageAlign.TOP_LEFT; 

     this.textField = new TextField(); 
     this.textField.text = "text"; 
     addChild(this.textField); 

     this.width = 300; 
     this.textField.width = 100; 

     var format:TextFormat = new TextFormat(); 
     format.align = TextFormatAlign.RIGHT; 
     this.textField.defaultTextFormat = format; 
    } 
} 

不管有没有在构造函数中的最后3行,格式化线,TextField的行为完全一致。提前致谢!

回答

3

一旦文本字段已经分配了一些文本,您也需要使用this.textField.setTextFormat(format);。 defaultTextFormat()仅适用于新插入的文本(=在调用defaultTextFormat设置器后输入的文本)。