博客
关于我
第五章 自定义组件开发 第一节 自定义Flex组件
阅读量:162 次
发布时间:2019-02-28

本文共 1079 字,大约阅读时间需要 3 分钟。

Flex 组件开发指南

在 Flex 开发中,组件与控件的概念常常让开发者感到困惑。本节将从基础 concepts 出发,解答这些术语的区别及其在开发中的意义。

组件与控件的区别

组件是一个可以复用、可交互的可视化或非可视化对象,Flex 中的组件包括 validators、formatters、effects、managers、controls 和 containers 等。其中,控件则是能够在界面上呈现出来的可视组件,如 Button、VBox 等。

所有的控件都是组件,但并非所有组件都是控件。因此,在 Flex 开发中,组件的概念要比控件更为广泛,而控件则是具体的可视化组件。

为什么需要自定义组件

随着应用程序的复杂化,使用现有的 Flex 组件可能会遇到以下问题:

  • 模块化开发:将应用程序拆分为多个独立的功能模块,便于不同开发人员协作。
  • 代码复用:创建通用逻辑的组件,使其可在多个项目中重复使用。
  • 扩展现有功能:通过继承 Flex 的预定义组件,添加新的行为或功能。
  • 创建自定义组件的方法

    在 Flex 中,自定义组件可以通过两种方式实现:

  • MXML 文件:适用于简单的组件修改或布局容器,Flex 编译器会自动生成对应的 ActionScript 类。
  • ActionScript 文件:适用于复杂的逻辑扩展或非可视化组件,如 Validator、Formatter 等。
  • 使用自定义组件的步骤

  • 创建组件文件:将组件定义在 .mxml 或 .as 文件中。
  • 引入项目:将组件文件添加到项目的 ActionScript 源路径中。
  • 在应用程序中引用:在 MXML 文件中使用 <component> 标签或在 ActionScript 中使用 new Component() 初始化。
  • 组件文件类型

    Flex 支持多种组件文件格式:

  • MXML 文件:直接定义组件,编译后生成对应的 ActionScript 类。
  • ActionScript 文件:通过继承 Flex 类层次结构的类创建自定义组件。
  • SWC 文件:将组件打包,适合多个项目重复使用。
  • RSL 文件:为减少 SWF 文件大小,共享组件部署在独立文件中。
  • 注意事项

    • MXML 组件:适合简单的布局或样式定制,Flex 编译器会自动处理 addChild 等方法。
    • ActionScript 组件:适合复杂的逻辑扩展或非可视化功能。
    • SWC 文件:适合需要复用组件的项目,减少重复代码。

    通过以上方法,可以高效地创建和管理 Flex 应用程序中的自定义组件,提升开发效率和代码可维护性。

    转载地址:http://ciyj.baihongyu.com/

    你可能感兴趣的文章
    NOIP2014 提高组 Day2——寻找道路
    查看>>
    NOIp模拟赛二十九
    查看>>
    Nokia5233手机和我装的几个symbian V5手机软件
    查看>>
    Non-final field ‘code‘ in enum StateEnum‘
    查看>>
    none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
    查看>>
    None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
    查看>>
    NOPI读取Excel
    查看>>
    NoSQL&MongoDB
    查看>>
    NoSQL介绍
    查看>>
    Notepad ++ 安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    Notepad++在线和离线安装JSON格式化插件
    查看>>
    notepad++最详情汇总
    查看>>
    notepad如何自动对齐_notepad++怎么自动排版
    查看>>
    Notification 使用详解(很全
    查看>>
    NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()
    查看>>
    Now trying to drop the old temporary tablespace, the session hangs.
    查看>>
    nowcoder—Beauty of Trees
    查看>>
    np.arange()和np.linspace()绘制logistic回归图像时得到不同的结果?
    查看>>
    np.power的使用
    查看>>
    NPM 2FA双重认证的设置方法
    查看>>