Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 如何使用swc内部组件的中继器_Apache Flex_Repeater_Swc - Fatal编程技术网

Apache flex 如何使用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 {

我用FlashCS5构建了一个swc文件,其中包含一些接口组件,如TextInput、Label。 然后我在flex程序中使用它

但是,当我想为这个组件使用flex repeater时,我遇到了这个问题

以下是我自己使用Flash CS在swc文件中定义的组件

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符号的文档类吗?