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

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Класс TextFormat представляет данные форматирования символов. Используйте класс TextFormat для создания специфического форматирования текста для текстовых полей. Форматирование текста можно применять и к статическим и к динамическим текстовым полям. Свойства класса TextFormat применяются к шрифтам устройства и встроенным шрифтам. Однако при использовании встроенных шрифтов для полужирного и курсивного текста на самом деле могут потребоваться отдельные шрифты. Если требуется отобразить полужирный или курсивный текст с встроенным шрифтом, необходимо встроить варианты его полужирного и курсивного начертания.

Прежде чем задавать эти свойства, необходимо вызвать конструктор new TextFormat() для создания объекта TextFormat. Когда объект TextFormat применяется к текстовому полю с помощью свойства TextField.defaultTextFormat или метода TextField.setTextFormat(), применяются только определенные для него свойства. Используйте свойство TextField.defaultTextFormat, чтобы применить форматирование ПЕРЕД добавлением текста в TextField, а метод setTextFormat(), чтобы добавить форматирование ПОСЛЕ добавления текста в TextField. Свойства объекта TextFormat по умолчанию имеют значения null, так как если они не определены, проигрыватель Flash Player использует собственное форматирование по умолчанию. Проигрыватель Flash Player использует следующее форматирование для каждого свойства (если его значение — null).

align = "left"
blockIndent = 0
bold = false
bullet = false
color = 0x000000
font = "Times New Roman" (в Mac OS X шрифт по умолчанию — Times)
indent = 0
italic = false
kerning = false
leading = 0
leftMargin = 0
letterSpacing = 0
rightMargin = 0
size = 12
tabStops = [] (пустой массив)
target = "" (пустая строка)
underline = false
url = "" (пустая строка)

Форматирование по умолчанию для каждого свойства также приводится в его подробном описании.

Посмотреть примеры

См. также

flash.text.TextField.setTextFormat()
flash.text.TextField.defaultTextFormat
flash.text.TextField.getTextFormat()


Общедоступные свойства
 СвойствоОпределено
  align : String
Обозначает выравнивание абзаца.
TextFormat
  blockIndent : Object
Указывает отступ блока в пикселах.
TextFormat
  bold : Object
Определяет, является ли текст полужирным.
TextFormat
  bullet : Object
Показывает, что текст является частью маркированного списка.
TextFormat
  color : Object
Указывает цвет текста.
TextFormat
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  font : String
Имя шрифта для текста в данном текстовом формате (в виде строки).
TextFormat
  indent : Object
Указывает отступ от левого поля до первого символа в абзаце.
TextFormat
  italic : Object
Показывает, выделен ли текст в данном текстовом формате курсивом.
TextFormat
  kerning : Object
Логическое значение, показывающее, включен ли межбуквенный интервал: включен (true) или выключен (false).
TextFormat
  leading : Object
Целое число, представляющее величину промежутка между строками по вертикали (так называемый междустрочный интервал).
TextFormat
  leftMargin : Object
Левое поле абзаца (в пикселах).
TextFormat
  letterSpacing : Object
Число, представляющее величину пространства, равномерно распределяемого между всеми символами.
TextFormat
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  rightMargin : Object
Правое поле абзаца (в пикселах).
TextFormat
  size : Object
Размер текста в пикселах в данном текстовом формате.
TextFormat
  tabStops : Array
Задает пользовательские позиции табуляции в виде массива неотрицательных целых чисел.
TextFormat
  target : String
Указывает целевое окно, где отображается гиперссылка.
TextFormat
  underline : Object
Показывает, является ли текст в этом текстовом формате подчеркнутым: да (true) или нет (false).
TextFormat
  url : String
Указывает целевой URL-адрес для текста в данном текстовом формате.
TextFormat
Общедоступные методы
 МетодОпределено
  
TextFormat(font:String = null, size:Object = null, color:Object = null, bold:Object = null, italic:Object = null, underline:Object = null, url:String = null, target:String = null, align:String = null, leftMargin:Object = null, rightMargin:Object = null, indent:Object = null, leading:Object = null)
Создает объект TextFormat с заданными свойствами.
TextFormat
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве
alignсвойство
align:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Обозначает выравнивание абзаца. Допустимыми значениями являются константы TextFormatAlign.

Значение по умолчанию TextFormatAlign.LEFT



Реализация
    public function get align():String
    public function set align(value:String):void

Выдает
ArgumentError — Заданный параметр align не является элементом flash.text.TextFormatAlign.

См. также


Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
blockIndentсвойство 
blockIndent:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Указывает отступ блока в пикселах. Отступ блока применяется ко всему блоку текста, то есть, ко всем его строкам текста. Обычный отступ (TextFormat.indent), напротив, применяется только к первой строке каждого абзаца. Если это свойство имеет значение null, объект TextFormat не задает отступ блока (он равен 0).



Реализация
    public function get blockIndent():Object
    public function set blockIndent(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
boldсвойство 
bold:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Определяет, является ли текст полужирным. Значение по умолчанию — null, то есть, полужирное начертание не используется. Если значение — true, тогда отображается полужирный текст.



Реализация
    public function get bold():Object
    public function set bold(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
bulletсвойство 
bullet:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Показывает, что текст является частью маркированного списка. В маркированном списке отступ применяется к каждому абзацу. Слева от первой строки каждого абзаца отображается маркер списка. Значение по умолчанию — null, то есть, маркированный список не используется.



Реализация
    public function get bullet():Object
    public function set bullet(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
colorсвойство 
color:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Указывает цвет текста. Число, содержащее три 8-разрядных компонента RGB; например, 0xFF0000 — это красный, 0x00FF00 — это зеленый. Значение по умолчанию — null, то есть, проигрыватель Flash Player использует черный цвет (0x000000).



Реализация
    public function get color():Object
    public function set color(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
fontсвойство 
font:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Имя шрифта для текста в данном текстовом формате (в виде строки). Значение по умолчанию — null, то есть, проигрыватель Flash Player использует для текста шрифт Times New Roman.



Реализация
    public function get font():String
    public function set font(value:String):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
indentсвойство 
indent:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Указывает отступ от левого поля до первого символа в абзаце. Значение по умолчанию — null, то есть, отступ не используется.



Реализация
    public function get indent():Object
    public function set indent(value:Object):void

См. также


Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
italicсвойство 
italic:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Показывает, выделен ли текст в данном текстовом формате курсивом. Значение по умолчанию — null, то есть, курсивное начертание не используется.



Реализация
    public function get italic():Object
    public function set italic(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
kerningсвойство 
kerning:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Логическое значение, показывающее, включен ли кернинг: включен (true) или выключен (false). Кернинг регулирует количество пикселов между символами в определенных парах для улучшения удобочитаемости текста. Его следует использовать при необходимости, например для заголовков с применением крупного шрифта. Кернинг доступен только для встроенных шрифтов.

Определенные шрифты, такие как Verdana, и моноширинные шрифты, такие как Courier New, не поддерживают кернинг.

Значение по умолчанию — null, то есть, кернинг выключен.



Реализация
    public function get kerning():Object
    public function set kerning(value:Object):void
leadingсвойство 
leading:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Целое число, представляющее величину промежутка между строками по вертикали (так называемый междустрочный интервал). Значение по умолчанию — null, то есть, величина междустрочного интервала равна 0.



Реализация
    public function get leading():Object
    public function set leading(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
leftMarginсвойство 
leftMargin:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Левое поле абзаца (в пикселах). Значение по умолчанию — null, то есть, левое поле равно 0 пикселов.



Реализация
    public function get leftMargin():Object
    public function set leftMargin(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
letterSpacingсвойство 
letterSpacing:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Число, представляющее величину пространства, равномерно распределяемого между всеми символами. Это значение задает количество пикселов, добавляемых после каждого символа. Значение по умолчанию — null, то есть, используется нулевой интервал между буквами. Можно использовать дробные значения, например 1,75.



Реализация
    public function get letterSpacing():Object
    public function set letterSpacing(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
rightMarginсвойство 
rightMargin:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Правое поле абзаца (в пикселах). Значение по умолчанию — null, то есть, правое поле равно 0 пикселов.



Реализация
    public function get rightMargin():Object
    public function set rightMargin(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
sizeсвойство 
size:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Размер текста в пикселах в данном текстовом формате. Значением по умолчанию является null, которое обозначает использование кегля 12.



Реализация
    public function get size():Object
    public function set size(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
tabStopsсвойство 
tabStops:Array  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Задает пользовательские позиции табуляции в виде массива неотрицательных целых чисел. Каждая точка табуляции задается в пикселах. Если не заданы пользовательские точки табуляции (null), по умолчанию используется значение 4 (средняя ширина символа).



Реализация
    public function get tabStops():Array
    public function set tabStops(value:Array):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
targetсвойство 
target:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Указывает целевое окно, где отображается гиперссылка. Если целевое окно представлено пустой строкой, текст отображается в целевом окне по умолчанию, _self. Можно выбрать пользовательское имя или один из следующих четырех вариантов: _self задает текущий фрейм в текущем окне, _blank задает новое окно, _parent задает предка текущего фрейма, и _top задает фрейм верхнего уровня в текущем окне. Если параметр TextFormat.url представлен пустой строкой или значением null, это свойство можно получить или задать, но оно не будет иметь силы.



Реализация
    public function get target():String
    public function set target(value:String):void

См. также


Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
underlineсвойство 
underline:Object  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Показывает, является ли текст в этом текстовом формате подчеркнутым: да (true) или нет (false). Это подчеркивание похоже на подчеркивание с помощью тега <U>, но последнее не является истинным подчеркиванием, так как не пропускает буквы с нижним выносным элементом. Значение по умолчанию — null, то есть, подчеркивание не используется.



Реализация
    public function get underline():Object
    public function set underline(value:Object):void

Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
urlсвойство 
url:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Указывает целевой URL-адрес для текста в данном текстовом формате. Если свойство url представлено пустой строкой, текст не имеет гиперссылки. Значение по умолчанию — null, то есть, текст не имеет гиперссылки.

Примечание. Чтобы гиперссылка работала, для текста с назначенным форматом должно быть задано свойство htmlText.



Реализация
    public function get url():String
    public function set url(value:String):void

См. также


Пример
Как пользоваться примерами
Пример использования этого свойства см. в примере для конструктора TextFormat().
Сведения о конструкторе
TextFormat()Конструктор
public function TextFormat(font:String = null, size:Object = null, color:Object = null, bold:Object = null, italic:Object = null, underline:Object = null, url:String = null, target:String = null, align:String = null, leftMargin:Object = null, rightMargin:Object = null, indent:Object = null, leading:Object = null)

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.

Создает объект TextFormat с заданными свойствами. Затем можно изменить свойства объекта TextFormat, чтобы изменить форматирование текстовых полей.

Любому параметру можно задать значение null, чтобы указать, что он не определен. Все параметры являются необязательными, опущенные параметры имеют значение null.

Параметры
font:String (default = null) — Имя шрифта для текста в виде строки.
 
size:Object (default = null) — Целое число, которое обозначает размер в пикселах.
 
color:Object (default = null) — Цвет текста, использующего данный формат. Число, содержащее три 8-разрядных компонента RGB; например, 0xFF0000 — это красный, 0x00FF00 — это зеленый.
 
bold:Object (default = null) — Логическое значение, указывающее, является ли текст полужирным.
 
italic:Object (default = null) — Логическое значение, указывающее, является ли текст курсивным.
 
underline:Object (default = null) — Логическое значение, указывающее, является ли текст подчеркнутым.
 
url:String (default = null) — URL-адрес, на который ссылается текст с этим форматом. Если url представлен пустой строкой, текст не имеет гиперссылки.
 
target:String (default = null) — Целевое окно, где отображается гиперссылка. Если целевое окно представлено пустой строкой, текст отображается в целевом окне по умолчанию, _self. Если параметр url представлен пустой строкой или значением null, это свойство можно получить или задать, но оно не будет иметь силы.
 
align:String (default = null) — Выравнивание абзаца в виде значения TextFormatAlign.
 
leftMargin:Object (default = null) — Указывает левое поле абзаца (в пикселах).
 
rightMargin:Object (default = null) — Указывает правое поле абзаца (в пикселах).
 
indent:Object (default = null) — Целое число, указывающее отступ от левого поля до первого символа в абзаце.
 
leading:Object (default = null) — Число, указывающее величину вертикального интервала между строками.

Пример

В следующем примере пользователь может выбирать разные варианты форматирования текста из списка, примененного к содержимому другого текстового поля. Если пользователь щелкает по содержимому текстового поля, возвращается формат по умолчанию (исходный).

В текстовом поле formatTextField перечисляются все варианты свойств класса TextField (за исключением kerning), каждое в отдельной строке. Когда пользователь щелкает строку в текстовом поле formatTextField, запускается метод formatTextFieldClickHandler().

Метод formatTextFieldClickHandler() сначала вызывает метод TextField.getLineIndexAtPoint() для получения индекса выбранной строки, а затем метод TextField.getLineText() для получения содержания строки. Инструкция switch проверяет содержимое строки и соответствующим образом задает свойство объекта TextFormat с именем newformat. После этого метод setTextFormat() задает текстовому полю contentTextField новый формат. Выбирая разные строки в поле formatTextField пользователь может применять разное форматирование к текстовому полю contentTextField. (Этот параметр табуляции представляет собой массив, определяющий отдельную точку табуляции для каждого табулятора в строке.) Если выбрана строка url или target, пользователь должен щелкнуть текстовое поле contentTextField, чтобы активировать ссылку и отобразить содержимое целевого URL (главная страница Flex). По умолчанию свойство target имеет значение _self, которое означает, что если пользователь выберет строку url, содержимое отображается в текущем окне. Чтобы свойство target работало, URL-адрес уже должен быть задан в свойстве url.

Если пользователь щелкает по текстовому полю contentTextField, запускается метод contentTextFieldClickHandler(), который возвращает формат поля и объект TextFormat с именем newFormat к формату по умолчанию (исходному) для текстового поля. При этом отменяются все изменения форматирования, внесенные пользователем.

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.text.TextFieldAutoSize;
    import flash.events.MouseEvent;
    import flash.text.TextFormatAlign;
    
    public class TextFormat_constructorExample extends Sprite {
        private var contentTextField:TextField = new TextField();
        private var formatTextField:TextField = new TextField();
        private var newFormat:TextFormat = new TextFormat();
        
        public function TextFormat_constructorExample() {
            contentTextField.x = 10;
            contentTextField.y = 10;
            contentTextField.background = true;
            contentTextField.border = true;
            contentTextField.multiline = true;
            contentTextField.wordWrap = true;
            contentTextField.selectable = false;
            contentTextField.width = 250;
            contentTextField.height = 120; 
  
            contentTextField.htmlText = "<p>The TextFormat class represents character formatting "
                + "information. Use the TextFormat class to create specific text formatting "
                + "for text fields." + 
                " </p><br>" + "\tTab One" + "\tTab Two<br>";
              
            formatTextField.x = 10;
            formatTextField.y = 140;
            formatTextField.background = true;
            formatTextField.border = true;
            formatTextField.autoSize = TextFieldAutoSize.LEFT;
            
            formatTextField.text = "align: right\n" + "blockIndent: 10 pixels\n" + "bold:\n" + "bullet:\n" + "color: red\n"
                                + "font: Arial\n" + "indent: 20 pixels\n" + "italic:\n" + "leading: 5 spaces\n" 
                                + "leftMargin: 20 pixels\n" + "letterSpacing: 4 pixels\n" + "rightMargin: 20 pixels\n" 
                                + "size: 16 point\n" + "target: new window\n" + "tabStops: 50 and 150 pixel\n" 
                                + "underline:\n" + "url: Adobe Flex page\n";

            formatTextField.addEventListener(MouseEvent.CLICK, formatTextFieldClickHandler);
            
            contentTextField.addEventListener(MouseEvent.CLICK, contentTextFieldClickHandler);
            
            this.addChild(contentTextField);
            this.addChild(formatTextField);
        }

        private function formatTextFieldClickHandler(e:MouseEvent):void {
                var value:String= "";
                var i:uint = 0;
                var index:int = formatTextField.getLineIndexAtPoint(e.localX, e.localY);
                var line:String = formatTextField.getLineText(index);;

                line = line.substr(0, (line.indexOf(":")));

                switch(line) {
                    case "align":
                        newFormat.align = TextFormatAlign.RIGHT;
                        break;
                    case "blockIndent":
                        newFormat.blockIndent = 10;
                        break;
                    case "bold":
                        newFormat.bold = true;
                        break;
                    case "bullet":
                        newFormat.bullet = true;
                        break;
                    case "color":
                        newFormat.color = 0xFF0000;        
                        break;
                    case "font":
                        newFormat.font = "Arial";
                        break;
                    case "indent":
                        newFormat.indent = 20;
                        break;
                    case "italic":
                        newFormat.italic = true;
                        break;
                    case "leading":
                        newFormat.leading = 5;
                        break;
                    case "leftMargin":
                        newFormat.leftMargin = 20;
                        break;
                    case "letterSpacing":
                        newFormat.letterSpacing = 4;
                        break;
                    case "rightMargin":
                        newFormat.rightMargin = 20;
                        break;
                    case "size":
                        newFormat.size = 16;
                        break;
                    case "tabStops":                
                        newFormat.tabStops = [50, 150];
                        break;
                    case "target":
                        newFormat.url = "http://www.adobe.com/products/flex/";    
                        newFormat.target = "_blank";
                        break;    
                    case "underline":
                        newFormat.underline = true;
                        break;
                    case "url":
                        newFormat.url = "http://www.adobe.com/products/flex/";    
                        break;
                }    

                contentTextField.setTextFormat(newFormat);
        }

        private function contentTextFieldClickHandler(e:MouseEvent):void {
            contentTextField.setTextFormat(contentTextField.defaultTextFormat);
            newFormat = contentTextField.defaultTextFormat;
        }
    }
}
Примеры Как пользоваться примерами
TextFormatExample.as

В следующем примере создается класс TextFieldExample для отображения текстового сообщения в местоположении по умолчанию (x = 0, y = 0). Это можно сделать, выполнив следующие действия:
  1. Создается свойство label типа TextField.
  2. Конструктор класса вызывает функцию configureLabel().
  3. Метод configureLabel() сначала создает новый объект TextField и назначает его свойству label, а затем задает для него следующие параметры:
    • Полная выключка текстового поля по левому краю
    • Включить заливку фона
    • Включить рамку
  4. Затем метод configureLable() создает локальную переменную, format, назначает ее новому экземпляру TextFormat и задает для нее следующие параметры:
    • Font type = Verdana
    • Font Color = solid red
    • Font size = 10
    • Font underline = true.
  5. Свойству defaultTextFormat свойства label задается значение format, и экземпляр label добавляется в список отображения, который сначала показывает в рабочей области текстовое поле без текста (крошечное поле с белым фоном).
  6. В завершение, метод конструктора setLabel() передает для отображения текст объекта label "Hello World and welcome to the show" (Здравствуйте все, и добро пожаловать на представление) в точке с координатами x = 0, y = 0.
 package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;


    public class TextFormatExample extends Sprite {
        private var label:TextField;

        public function TextFormatExample() {
            configureLabel();
            setLabel("Hello World and welcome to the show");
        }

        public function setLabel(str:String):void {
            label.text = str;
        }

        private function configureLabel():void {
            label = new TextField();
            label.autoSize = TextFieldAutoSize.LEFT;
            label.background = true;
            label.border = true;

            var format:TextFormat = new TextFormat();
            format.font = "Verdana";
            format.color = 0xFF0000;
            format.size = 10;
            format.underline = true;

            label.defaultTextFormat = format;
            addChild(label);
        }
    }
}