ClassFactory

 
ClassFactory 实例是一个“工厂对象”,Flex 可用其生成其它类的实例,每个实例拥有相同的属性。 构建工厂对象时,指定 generator 类。然后,在工厂对象上设置 properties 属性。Flex 通过调用工厂对象的 newInstance() 方法使用工厂对象生成实例。 newInstance() 方法创建 generator 类的新实例,并在新实例中设置由 properties 指定的属性。如果需要进一步自定义生成的实例,则可以覆盖 newInstance() 方法。 ClassFactory 类实现 IFactory 接口。因此,通过该类,您可以创建可分配到 IFactory 类型属性的对象,如 List 控件的 itemRenderer 属性或 DataGrid 控件的 itemEditor 属性。 例如,假设您编写了一个名为 ProductRenderer 的项目渲染器类,该类包含一个 showProductImage 属性,此属性可以是 true 或 false。如果您希望 List 控件使用此渲染器,并使每个渲染器实例都显示产品图像,则应编写以下代码: var productRenderer:ClassFactory = new ClassFactory(ProductRenderer); productRenderer.properties = { showProductImage: true }; myList.itemRenderer = productRenderer;List 控件对 itemRenderer 调用 newInstance() 方法以创建 ProductRenderer 的各实例,并将每个实例的 showProductImage 属性设置为 true。如果希望有一个省略产品图像的不同 List 控件,可以使用 ProductRenderer 类创建另一个 properties 属性设置为 { showProductImage: false } 的 ClassFactory。 使用 properties 属性配置实例的功能非常强大,因为它允许以不同方式使用单个 generator 类。但是,通常创建不需要设置属性的不可配置 generator 类。为此,MXML 允许您使用以下语法: <list id="myList" itemrenderer="ProductRenderer"></list>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值