`
javasogo
  • 浏览: 1854349 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

利用代码与布局分离技术构建自定义Flex组件

 
阅读更多

XML和ActionScript在创建组件方面各有优缺点:

  • 在创建复合组件时,MXML可以时创建过程变得很容易,并且方便于对子控件进行布局。
  • 在修改组件行为时,我们可以用ActionScript来修改他们的方法。

大多数时候,我们会使用MXML和ActionScript结合的方式来创建Flex组件和应用。

Flex提供了多种方式来结合使用MXML和ActionScript,包括以下几点:

  • 直接将ActionScript语句直接放到MXML标记内。这常常会在定义内联时事件句柄时使用。
  • 将ActionScript放入<mx:Script>标签内。
  • 用<mx:Scriopt>标签来包含外部的。
  • 使用MXML代码来做代码布局,并把ActionScript放在类定义中。这就是我们所知的代码隐藏。

要想同时使用ActionScript和MXML并把代码隐藏起来,我们需要把ActionScript类作物MXML组件的根标签;也就是说,你的MXML组件需要继承ActionScript类。例如创建一个用于显示地址输入自定义的AddressForm组件,就需要按以下步骤进行操作:

  1. 首先创建一个叫做AddressFormClass的ActionScript类,然后让这个类继承一个Flex类。这样的话我们就可以使用Form容器的布局能力并让AddressFormClass继承mx.containers.Form类。
  2. 创建一个叫做AddressForm的MXML组件,并把AddressFormClass作为它的根标签。
  3. 用MXML为ActionForm组件的内容进行布局。
  4. 用ActionScript为ActionForm组件创建逻辑。

提示:我们必须在ActionScript类中把子控件定义为公共访问。

下面的例子包含了上面描述的自定义组件AddressForm。主应用程序文件利用了代码隐藏技术,例子也把我们在其他教程中创建的CountryComboBox和PaddedPanel组件添加了些特性。

扩展:在创建Flex应用时把本篇当作一个练习介绍。对于更多的信息,请参考Arp框架 — 一个利用代码隐藏技术来创建Flash和Flex应用的开源的基于样式的框架。

components/AddressFormClass.as

components/AddressForm.mxml

components/AddressFormEvent.as

components/AddressVO.as

components/PaddedPanel.as

components/CountryComboBox.mxml

components/ApplicationClass.as

主应用MXML文件

原文地址:http://www.adobe.com/devnet/flex/quickstart/building_components_using_code_behind/

分享到:
评论

相关推荐

    Flex 页面与代码分离

    在Flex开发中,页面与代码分离是一种常见的最佳实践,它有助于提高代码的可维护性、可读性和可扩展性。Flex是一种基于ActionScript和Flash Player的开源框架,主要用于构建富互联网应用程序(RIA)。本资源“Flex ...

    flex组件使用文档

    - **文档阅读**:充分利用官方文档和其他资源来学习Flex组件的使用方法。Adobe提供了详尽的文档和支持,这对于深入理解Flex框架非常有帮助。 综上所述,Flex框架中的组件是构建高质量RIA应用程序的关键组成部分。...

    flex3 组件开发(EN)

    #### 三、创建自定义Flex3组件 1. **继承现有组件**:创建自定义组件最简单的方法是从现有的Flex类继承。例如,可以从`mx.controls.Button`类派生一个新按钮类,然后添加特定的功能。 2. **使用MXML定义外观**:...

    Flex自定义控件

    UIComponent提供了基本的属性、方法和事件,如宽度、高度、可见性、布局管理等,是构建自定义控件的基础。 - **MXML与ActionScript结合**: Flex支持使用MXML和ActionScript两种方式创建自定义控件。MXML提供了声明...

    Flex 4 权威指南 代码

    Spark组件相比于早期的MX组件,更加轻量级,设计时更注重组件的外观与行为分离,使得开发者可以更容易地自定义组件样式。例如,通过皮肤和状态管理,开发者可以轻松改变组件的视觉呈现,以适应不同应用场景或品牌...

    Flex4权威指南源代码

    MXML允许开发者用直观的方式定义组件布局和属性,与AS3代码相结合,实现视图和逻辑的分离。 4. **Gumbo**:Flex 4的早期代号,它引入了新的皮肤层(Skinning)和样式(Styling)机制,使得开发者可以更自由地定制...

    flex4权威指南教程+全代码 flex flex

    Flex 4的数据绑定机制简化了UI组件与数据模型之间的交互。通过双向数据绑定,组件值的改变可以自动反映在数据模型上,反之亦然,这大大简化了数据驱动UI的开发。 6. **图形和渲染**: Flex 4使用...

    Flex系统源码

    MXML代码可以与ActionScript代码混合,实现视图和逻辑的分离。 4. **Flex框架**: Flex框架提供了大量预定义的UI组件,如按钮、表格、面板等,以及事件处理机制、数据绑定等功能。这些组件基于MX和Spark两个主要组件...

    flex_api (FLEX接口)

    它允许开发者以声明式的方式定义UI元素,与ActionScript配合使用,实现代码逻辑与界面布局的分离。 4. **Flex Component Framework** Flex组件框架是一系列预定义的UI组件,如按钮、面板、列表等。开发者可以通过...

    flex仪表盘示例代码

    在本示例中,"flex仪表盘示例代码"是使用Flex技术实现的一个可视化工具,用于展示各种数据指标,其设计风格具有吸引力,采用了漂亮的渐变半透明效果,增强了视觉体验。 仪表盘控件在数据可视化领域中扮演着重要角色...

    [Flash Builder 4 and Flex 4 Bible] Flex 4 宝典 配套代码

    Spark组件与原有的MX组件并存,但它们采用了不同的设计原则,使得开发者可以更深入地定制界面外观和行为。例如,Spark组件基于MXML和CSS,允许更灵活的布局管理和样式控制。 另一个重要的变化是ActionScript 3.0的...

    Flex学习四宝贝之一 《使用ActionScript 3.0组件》

    ActionScript 3.0的组件模型基于MXML和AS3的混合编程,使得UI设计与业务逻辑分离,大大简化了复杂应用的构建过程。 1. 组件基础:组件是可重用的UI元素,如按钮、文本框、列表等。在ActionScript 3.0中,组件可以...

    flex核心开发技术

    开发者可以使用这些工具创建自定义组件,或者利用预置的Flex组件库,如Button、Label、Canvas等,快速构建用户界面。 Flex应用程序通常由四个主要部分组成:模型(Model)、视图(View)、控制器(Controller)和...

    Flex学习大礼包,Flex技术精髓

    总而言之,这份Flex学习大礼包将引导你逐步走进Flex的世界,让你能够充分利用这一强大的技术栈,创造出富有创新性和实用性的Web应用。无论你是初学者还是有经验的开发者,都可以从中找到提升技能的新路径,从而在...

    Flex地球玩家源代码(www.earthplayer.com)

    地球玩家应用系统是利用Flex技术构建的,它允许用户以3D形式查看地球,进行地理位置查询、数据可视化以及多种地理信息处理。系统可能包括地图导航、图层管理、地理标注、数据导入导出等功能,为科研、教育、旅游等...

    flex 资料学习

    Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的技术,它主要基于ActionScript和MXML,用于创建具有动态交互性的网页应用。...通过深入学习和实践,你将能够利用Flex技术构建出专业级别的RIA应用。

    flex3.0学习指南

    Flex组件库是预构建的UI元素集合,如按钮、面板、表格等,可以帮助快速构建用户界面。了解各个组件的属性、事件和方法,能够提高开发效率。 五、数据绑定与数据服务 Flex支持数据绑定,允许UI元素自动反映数据模型...

    flex4开发实践书中例子的全部源代码

    9. **皮肤和样式**:Flex4允许开发者自定义组件的外观,源代码中可能包含皮肤和样式的实现,展示如何改变组件的颜色、形状等视觉元素。 10. **测试和调试**:通过源代码,你可以学习如何利用Flash Builder的内置...

    flex3.0源代码-1

    本资源包含的是Flex 3.0的源代码,对于深入理解和学习Flex技术具有很高的价值。 在学习Flex 3.0源代码时,有几个关键知识点值得我们关注: 1. **ActionScript 3.0**:Flex 3.0基于ActionScript 3.0,这是一种面向...

Global site tag (gtag.js) - Google Analytics