Apache 清除我的Flex查询

Apache 清除我的Flex查询,apache,apache-flex,actionscript,adobe,ria,Apache,Apache Flex,Actionscript,Adobe,Ria,这些天我刚开始学习Flex。。我只是有一个疑问:下面是代码: Main.mxml <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="librar

这些天我刚开始学习Flex。。我只是有一个疑问:下面是代码:

Main.mxml

 <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

        <s:layout>

            <s:VerticalLayout paddingLeft="10" paddingTop="10"/>
        </s:layout>

        <fx:Style source="Styles.css" />

        <fx:Script>
            <![CDATA[
                import components.NameDisplay;

                import spark.skins.spark.DefaultComplexItemRenderer;
                import spark.skins.spark.DefaultItemRenderer;

                private function rendererFunction(item: Object): ClassFactory
                {
                    if(item is String)
                        return new ClassFactory(NameDisplay);
                    else
                        return new ClassFactory(DefaultComplexItemRenderer);
                }
            ]]>
        </fx:Script>

        <fx:Declarations>

            <s:ArrayList id="employeeList">
                <fx:String>Samuel Ang</fx:String>
                <s:BitmapImage source="images/sang.jpg"/>

                <fx:String>Athena Parker</fx:String>
                <s:BitmapImage source="images/aparker.jpg"/>

                <fx:String>Saul Tucker</fx:String>
                <s:BitmapImage source="images/stucker.jpg"/>

                <fx:String>Alyssa Le</fx:String>
                <s:BitmapImage source="images/ale.jpg"/>
            </s:ArrayList>


        </fx:Declarations>


        <s:Label text="Employee Portal: Employee Directory"
                 styleName="titleHeader"/>

        <s:DataGroup dataProvider="{employeeList}"
                     itemRendererFunction="rendererFunction">

            <s:layout>
                <s:VerticalLayout paddingLeft="15" paddingTop="15"/>
            </s:layout>

        </s:DataGroup>


    </s:Application>
 <?xml version="1.0" encoding="utf-8"?>
    <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                    xmlns:s="library://ns.adobe.com/flex/spark" 
                    xmlns:mx="library://ns.adobe.com/flex/mx" 
                    autoDrawBackground="true">
        <fx:Declarations>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>

        <s:Label text="{data}"
                 width="74" height="30"
                 backgroundColor="#000000" 
                 color="#FFFFFF" 
                 textAlign="center" 
                 verticalAlign="middle" />

    </s:ItemRenderer>

塞缪尔·昂
雅典娜·帕克
索尔·塔克
艾莉莎勒
名称显示.mxml

 <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

        <s:layout>

            <s:VerticalLayout paddingLeft="10" paddingTop="10"/>
        </s:layout>

        <fx:Style source="Styles.css" />

        <fx:Script>
            <![CDATA[
                import components.NameDisplay;

                import spark.skins.spark.DefaultComplexItemRenderer;
                import spark.skins.spark.DefaultItemRenderer;

                private function rendererFunction(item: Object): ClassFactory
                {
                    if(item is String)
                        return new ClassFactory(NameDisplay);
                    else
                        return new ClassFactory(DefaultComplexItemRenderer);
                }
            ]]>
        </fx:Script>

        <fx:Declarations>

            <s:ArrayList id="employeeList">
                <fx:String>Samuel Ang</fx:String>
                <s:BitmapImage source="images/sang.jpg"/>

                <fx:String>Athena Parker</fx:String>
                <s:BitmapImage source="images/aparker.jpg"/>

                <fx:String>Saul Tucker</fx:String>
                <s:BitmapImage source="images/stucker.jpg"/>

                <fx:String>Alyssa Le</fx:String>
                <s:BitmapImage source="images/ale.jpg"/>
            </s:ArrayList>


        </fx:Declarations>


        <s:Label text="Employee Portal: Employee Directory"
                 styleName="titleHeader"/>

        <s:DataGroup dataProvider="{employeeList}"
                     itemRendererFunction="rendererFunction">

            <s:layout>
                <s:VerticalLayout paddingLeft="15" paddingTop="15"/>
            </s:layout>

        </s:DataGroup>


    </s:Application>
 <?xml version="1.0" encoding="utf-8"?>
    <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                    xmlns:s="library://ns.adobe.com/flex/spark" 
                    xmlns:mx="library://ns.adobe.com/flex/mx" 
                    autoDrawBackground="true">
        <fx:Declarations>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>

        <s:Label text="{data}"
                 width="74" height="30"
                 backgroundColor="#000000" 
                 color="#FFFFFF" 
                 textAlign="center" 
                 verticalAlign="middle" />

    </s:ItemRenderer>

我的怀疑:

1)我的“RenderFunction”代码如何在末尾返回ItemRenderer?我的意思是ClassFactory如何返回ItemRenderer对象?我检查了ClassFactory.as代码,我看到了newInstance()方法(它是从IFactory接口实现的),那么ClassFactory如何自动调用newInstance()方法(实际上,我猜我是通过newInstance()方法获取ItemRenderer对象的)

2)内部DisplayName.mxml代码:

1) 我的“RenderFunction”代码如何在末尾返回ItemRenderer?
我的意思是ClassFactory如何返回ItemRenderer对象

我不知道你到底在问什么,但我会试试看。我相信是这样的:

1) 数据组需要itemRenderer来显示一些数据

2) 数据组检查ItemRenderFunction是否存在。如果有,;它调用函数。函数返回一个类工厂

3) 类工厂在数据组内用于创建新实例。我假设调用了newInstance()方法;但我并不是为了写这篇文章而检查代码

4) 数据组在新的渲染器实例上设置数据属性。我假设它还将渲染器实例存储在某处

5) 渲染器实例作为数据组的子级添加

在一天结束时;您必须深入研究Flex框架代码,找出问题的答案

2) 内部DisplayName.mxml代码: 数据组将在渲染器上设置数据属性。它与数据组的数据提供程序中的项目相关

3) 我听很多人说Flex是从Java开发的,是 对吗?如果是,为什么我连一个java文件都找不到 内置Flex源代码

Flex编译器是用Java构建的。Flex框架完全是ActionScript

4) 现在,Apache是Flex的所有者,那么为什么FlexAPI 仍然显示为“Adobe”?(问这个只是为了了解我自己)


主要是因为向后兼容的原因。我相信ApacheFlexSDK包含了不在Adobe名称空间中的新类。

hi,你也可以在这里回复吗?兄弟:我建议你好奇。如果你想让我解释一下Flex框架的所有功能是如何工作的;我可以作为个人导师。