переопределить setTextFormat as3 - PullRequest
0 голосов
/ 03 декабря 2011

Я написал некоторый код, который использует setTextFormat для применения форматирования к textFields. Мне нужно изменить его сейчас, так что если текстовое поле имеет определенный заголовок, оно добавляет к форматированию (с заглавной буквы).

Есть несколько обходных путей, которые я мог бы использовать, но в идеале я хотел бы создать переопределение для классов setTextFormat или textFormat, которое проверяет имя текстового поля и, если оно является конкретным именем, перед применением всех других указанных форматирований, оно становится заглавными. Я знаю, как переопределить сеттер, например (ширина или высота), но не могу найти никакой информации о переопределении определенного свойства.

Может, кто-нибудь подскажет, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2011
 public class MyField extends TextField {
     public function MyField() {
        super();
     }
     override public function setTextFormat(format:TextFormat):void {
          if (this.name == "someName") {
            this.capitalize();
          }
          super.setTextFormat(format);
     }
     private function capitalize():void
     {
         //code to capitalize text
     }

 }
0 голосов
/ 03 декабря 2011

[[Редактировать]]

Не понял, что вопрос касался AS2.Ответ ниже - AS3.


Я бы предложил расширить объект TextField и переопределить установленный метод defaultTextFormat.

import flash.text.TextField;
import flash.text.TextFormat;

class MyTextField extends TextField
{

    public function MyTextField()
    {
        super();
    }

    override public function set defaultTextFormat(value:TextFormat):void
    {
        super.defaultTextFormat = value;
    }

}

Всего хорошего!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...