Apache flex 如何使用swc内部组件的中继器
我用FlashCS5构建了一个swc文件,其中包含一些接口组件,如TextInput、Label。 然后我在flex程序中使用它 但是,当我想为这个组件使用flex repeater时,我遇到了这个问题 以下是我自己使用Flash CS在swc文件中定义的组件Apache flex 如何使用swc内部组件的中继器,apache-flex,repeater,swc,Apache Flex,Repeater,Swc,我用FlashCS5构建了一个swc文件,其中包含一些接口组件,如TextInput、Label。 然后我在flex程序中使用它 但是,当我想为这个组件使用flex repeater时,我遇到了这个问题 以下是我自己使用Flash CS在swc文件中定义的组件 package { import fl.controls.TextInput; ...... public dynamic class MyWindow extends UIMovieClip {
package {
import fl.controls.TextInput;
......
public dynamic class MyWindow extends UIMovieClip {
public var txt1 : TextInput;
......
}
}
}
然后我在flex程序中使用它,如下所示:
<local:MyWindow id="myWindow"/>
<fx:Script>
<![CDATA[
......
private function Init() : void {
myWindow.txt1.text = "myText";
}
......
]]>
</fx:Script>
<local:MyWindow id="myWindow" txt1.text="myText"/>
<mx:VBox>
<mx:Repeater x="10" y="10" id="multiWindow">
<local:MyWindow txt1.text="{multiWindow.currentItem}"/>
</mx:Repeater>
</mx:VBox>
<mx:VBox>
<mx:Repeater x="10" y="10" id="multiWindow">
<mx:UIComponent>
<local:MyWindow txt1.text="{multiWindow.currentItem}"/>
</mx:UIComponent>
</mx:Repeater>
</mx:VBox>
要在MX容器中使用的任何组件都需要实现IUIComponent。我相信Flash有一个内置的基类,您可以通过Flex扩展它,但您也可以这样做:
<local:MyWindow id="myWindow"/>
<fx:Script>
<![CDATA[
......
private function Init() : void {
myWindow.txt1.text = "myText";
}
......
]]>
</fx:Script>
<local:MyWindow id="myWindow" txt1.text="myText"/>
<mx:VBox>
<mx:Repeater x="10" y="10" id="multiWindow">
<local:MyWindow txt1.text="{multiWindow.currentItem}"/>
</mx:Repeater>
</mx:VBox>
<mx:VBox>
<mx:Repeater x="10" y="10" id="multiWindow">
<mx:UIComponent>
<local:MyWindow txt1.text="{multiWindow.currentItem}"/>
</mx:UIComponent>
</mx:Repeater>
</mx:VBox>
请注意,如果您没有考虑Flex组件的生命周期和布局系统,它可能不会很好地发挥作用。请您详细解释一下如何实现IUIComponet好吗?用Flash还是Flex?我加入了我的flex代码,就像你的示例一样,但它仍然不起作用。你说的“不起作用”是什么意思?你能为你的Flash符号的文档类发布代码吗?艾米,我已经更新了代码,你是说这个Flash符号的文档类吗?