Сначала вы должны указать в своем SkinnableComponent так называемый контракт между разработчиком и разработчиком.Затем вы должны подождать, пока ваш компонент завершит свою реализацию, чтобы получить доступ к его частям скина.
В вашем конкретном случае вы измените код следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<s:SkinnableComponent xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" skinClass="skins.brushedSkin"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.controls.TextInput;
[SkinPart(required="true")]
public var input:TextInput;
private var txt:String;
public function setText(s:String) {
txt = s;
if (initialized)
input.text = txt;
}
]]>
</fx:Script>
</s:SkinnableComponent>
Затем убедитесь, чтоВаш класс скина содержит следующее объявление (вероятно, вам просто нужно переименовать msg -TextInput для ввода):
<s:TextInput id="input"/>