Главная / Action Script 3
Пакетflash.text.engine
Классpublic final class TextElement
НаследованиеTextElement Inheritance ContentElement Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Класс TextElement представляет строку отформатированного текста. Назначьте объект TextElement свойству content объекта TextBlock, чтобы создать блок текста. Назначьте его объекту GroupElement, чтобы объединить с другими текстовыми и графическими элементами в единое целое. Используйте класс ElementFormat для форматирования текста.

См. также

ContentElement
ElementFormat
TextBlock


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 InheritedelementFormat : ElementFormat
Объект ElementFormat, используемый для элемента.
ContentElement
 InheritedeventMirror : EventDispatcher
Объект EventDispatcher, получающий копии каждого события, вызванного для действительных текстовых строк, созданных на основе данного элемента содержимого.
ContentElement
 InheritedgroupElement : GroupElement
[только для чтения] Объект GroupElement, содержащий этот элемент, или "null", если это не группа.
ContentElement
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
 InheritedrawText : String
[только для чтения] Копия текста в элементе, включая символы U+FDEF.
ContentElement
  text : String
[только для записи] Получает текст, являющийся содержимым элемента.
TextElement
 InheritedtextBlock : TextBlock
[только для чтения] Объект TextBlock, которому принадлежит этот элемент.
ContentElement
 InheritedtextBlockBeginIndex : int
[только для чтения] Индекс в первого символа в этом элементе текстового блока.
ContentElement
 InheritedtextRotation : String
Поворот, который должен применяться к элементу, как к едином целому.
ContentElement
 InheriteduserData : *
Дает возможность автору связать произвольные данные с элементом.
ContentElement
Общедоступные методы
 МетодОпределено
  
TextElement(text:String = null, elementFormat:ElementFormat = null, eventMirror:EventDispatcher = null, textRotation:String = "rotate0")
Создает новый экземпляр TextElement.
TextElement
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
  
replaceText(beginIndex:int, endIndex:int, newText:String):void
Заменяет диапазон символов, заданный параметрами beginIndex и endIndex, содержанием параметра newText.
TextElement
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Общедоступные константы
 Константа Определено
 InheritedGRAPHIC_ELEMENT : uint = 0xFDEF
[статические] Указывает на присутствие в тексте графического элемента.
ContentElement
Сведения о свойстве
textсвойство
text:String  [только для записи]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Получает текст, являющийся содержимым элемента.

Значение по умолчанию — null.



Реализация
    public function set text(value:String):void
Сведения о конструкторе
TextElement()Конструктор
public function TextElement(text:String = null, elementFormat:ElementFormat = null, eventMirror:EventDispatcher = null, textRotation:String = "rotate0")

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Создает новый экземпляр TextElement.

Параметры
text:String (default = null) — Текст элемента. Значение по умолчанию равно null.
 
elementFormat:ElementFormat (default = null) — Формат элемента для текста в элементе. Значение по умолчанию равно null.
 
eventMirror:EventDispatcher (default = null) — Объект EventDispatcher, получающий копии каждого события, вызванного для текстовых строк, созданных на основе данного элемента содержимого. Значение по умолчанию равно null.
 
textRotation:String (default = "rotate0") — При вращении элемент был использован в качестве единицы измерения. Используйте константы flash.text.engine.TextRotation для этого свойства. Значение по умолчанию равно flash.text.engine.TextRotation.ROTATE_0.

Пример

В следующем примере из строки текста создается объект TextElement, он форматируется до размера 12 и красного цвета (0xCC0000), затем назначается свойству content блока TextBlock. Вызывается функция createLines() для разбиения блока текста на строки по 150 пикселов.

package {
    import flash.display.Sprite;
    import flash.text.engine.TextBlock;
    import flash.text.engine.TextElement;
    import flash.text.engine.TextLine;
    import flash.text.engine.ElementFormat;
    
    public class TextElementExample extends Sprite {
        
        public function TextElementExample():void {
            
            var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " +
            "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut " +
            "enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut " +
            "aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit " +
            "in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur " +
            "sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt " +
            "mollit anim id est laborum.";
            
            var format:ElementFormat = new ElementFormat(null, 12, 0xCC0000);
            var textElement:TextElement = new TextElement(str, format); 
            var textBlock:TextBlock = new TextBlock();
            textBlock.content = textElement; 
            createLines(textBlock);
        }
        
        private function createLines(textBlock:TextBlock):void {
        
            var yPos = 20;
            var textLine:TextLine = textBlock.createTextLine (null, 150);
 
            while (textLine)
            {
                addChild(textLine);
                textLine.x = 15;
                yPos += textLine.textHeight+2;
                textLine.y = yPos;
                textLine = textBlock.createTextLine(textLine, 150);
            }        
        }
    }
}
Сведения о методе
replaceText()метод
public function replaceText(beginIndex:int, endIndex:int, newText:String):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Заменяет диапазон символов, заданный параметрами beginIndex и endIndex, содержанием параметра newText. Значения beginIndex и endIndex относятся к текущему содержимому text.

Для удаления текста передайте null для newText.

Для вставки текста передайте то же значение для beginIndex и endIndex. Новый текст вставляется перед заданным индексом.

Для добавления текста передайте text.length для beginIndex и endIndex.

Для задания всего текста передайте 0 для beginIndex и text.length для endIndex.

Параметры

beginIndex:int — Отсчитываемое от нуля значение индекса для начального положения диапазона замены.
 
endIndex:int — Отсчитываемое от нуля значение индекса, следующее за конечным положением диапазона замены.
 
newText:String — Текст для замены заданного диапазона символов.


Выдает
RangeError — Заданный параметр beginIndex или endIndex находится за пределами диапазона.

См. также


Пример

В этом примере показано, как многократно вызывать replaceText() для следующих целей:
  • вставить строку в начале текста
  • добавить строку в конец текста
  • вставить строку в середине текста
  • заменить текст новым

package {
    import flash.display.Sprite;
    import flash.text.engine.FontDescription;
    import flash.text.engine.ElementFormat;
    import flash.text.engine.TextElement;
    import flash.text.engine.TextBlock;
    import flash.text.engine.TextLine;
    
    
    public class TextElement_replaceTextExample extends Sprite {
        public function TextElement_replaceTextExample():void {
            
            var str:String = "0123456";
            var fontDescription:FontDescription = new FontDescription("Arial");
            var format:ElementFormat = new ElementFormat(fontDescription);
            format.fontSize = 14;
            var textElement:TextElement = new TextElement(str, format);
            var textBlock:TextBlock = new TextBlock();
            textBlock.content = textElement;
            textElement.replaceText(0, 0, "abc");  
            createLine(textBlock, 20);           //"abc0123456"
            textElement.replaceText(10, 10, "abc");   
            createLine(textBlock, 40);            // "abc0123456abc"
            textElement.replaceText(5, 8, "abc");
            createLine(textBlock, 60);         // "abc01abc56abc"
            textElement.replaceText(0, 13, "abc");
            createLine(textBlock, 80);            // "abc"
            textElement.replaceText(0, 3, "That's all she wrote!");
            createLine(textBlock, 100);        // "That's all she wrote" */
        }
            
        private function createLine(textBlock:TextBlock, y:Number):void {
            var textLine:TextLine = textBlock.createTextLine(null, 150);
            textLine.x = 10;
            textLine.y = y;
            addChild(textLine);
        }
    }
}