`
flash7783
  • 浏览: 308354 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

自定义组件MXML和as两种实现的方式和区别

阅读更多

在Flex中采用MXML和as方式都可以进行自定义组件和重写控件,需要注意的是它们的区别:

(1)构造函数区别
MXML组件形式的自定义控件,不能书写构造函数和重载构造函数,因为在MXML中进行以下定义就代表了构造函数,如果再进行public function TitleWindow(parameter:Object)则构造函数定义重复错误:
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml">
</mx:TitleWindow>
这就是说TitleWindow不能进行构造函数的重载,也就没法在在构造函数中传递参数。

as组件形式的自定义控件则没有这个限制,如:
public class NzhfxMethod extends EventDispatcher
public function NzhfxMethod()
{
    super();
}

(2)界面实现区别
MXML组件形式的自定义控件:可以属性MXML标签进行界面设计
as组件形式的自定义控件:必须写as代码进行this.addChild添加

(3)控件安全性区别
MXML组件形式的自定义控件:安全性比较低,因为所有的标签控件对外都是可读可写的public类型
as组件形式的自定义控件:安全性比较搞,对外不可访问

采用什么方式实现看具体应用,如果是单单的重写一个控件,就采用as方法,如果进行比较复杂的界面设置,又嫌写as代码添加复杂,就采用MXML方式,本人给予安全性和构造函数考虑,推荐后者。

分享到:
评论
1 楼 Batmankwok 2011-03-03  
很好,所见略同,

相关推荐

    第五章 自定义组件开发 第一节 自定义Flex组件

    MXML是一种声明性语言,用于描述组件的外观和布局,而ActionScript则用于处理组件的逻辑和行为。在自定义组件时,开发者可以继承Flex提供的基类,如UIComponent或Canvas,然后添加自己的属性、方法和样式。 创建...

    flex4自定义组件皮肤

    要深入学习和理解自定义组件皮肤,你需要打开这个目录,查看其中的MXML和AS文件,理解它们的结构和实现方式。 7. **实践与调试** - 实践是最好的老师,尝试修改压缩包中的皮肤文件,观察组件外观的变化,这有助于...

    flex/flash自定义组件(搜索栏)

    在IT行业中,Flex和Flash是Adobe开发的两种用于创建富互联网应用程序(RIA)的技术。本文主要探讨如何在Flex中自定义组件,特别是针对一个搜索栏的实现。在提供的压缩包中,我们有`searchField.fla`、`searchField....

    as3 开源组件

    AS3开源组件是ActionScript 3的开源库和框架集合,它们为开发人员提供了一系列预构建的功能和组件,用于创建富互联网应用程序(RIA)或Flash平台上的交互式内容。ActionScript 3是Adobe Flash Player和Adobe AIR支持...

    flex的mxml语言基础

    Flex项目使用两种主要的编程语言:MXML和ActionScript 3.0。MXML类似于HTML,用于构建项目的可视部分,它定义了组件、布局和其他界面元素。而ActionScript 3.0是一种全面面向对象的语言,与JavaScript有相似之处,但...

    Flex4 自定义通用ImageButton

    在Flex4中,自定义组件是一项重要的技能,它允许开发者根据特定需求创建具有独特功能和外观的用户界面元素。本话题聚焦于自定义一个通用的`ImageButton`组件,该组件结合了图像和按钮的功能,提供了更丰富的交互体验...

    Flex自定义的温度计实现

    在Flex编程领域,自定义组件是提升应用独特性和用户体验的关键技术。标题提到的"Flex自定义的温度计实现"是一个具体实例,展示了如何利用ActionScript(AS)在Flex环境中创建一个温度计图形用户界面(GUI)组件。...

    自定义时间控件

    3. **定义 UI**:在 MXML 文件(如 TimeFile2.mxml)中,我们可以定义控件的外观,包括子组件(例如两个 Spinners 代表小时和分钟)和它们的布局。通过 MXML,我们可以直接在代码中添加皮肤、样式和事件监听器。 4....

    Flex组建重写

    Flex提供了两种重写组件的方式:MXML和AS。 1. **MXML**:更适合创建简单的组件,因为可以直接在MXML中定义布局和样式,易于理解和维护。 - 适用场景:当组件的功能比较简单,无需复杂逻辑处理时。 2. **AS...

    Flex时间控件

    7. **ActionScript与MXML的结合**:Flex应用可以使用ActionScript和MXML两种方式开发。MXML是一种声明式的标记语言,可以用来布局组件和初始化数据绑定。ActionScript代码可能在MXML组件的后台运行,提供逻辑支持。 ...

    flex特效范例源码

    2. ActionScript类文件(.as):用于编写更复杂的业务逻辑和自定义组件。 3. 图片资源:应用中可能使用的图像文件,如按钮图标、背景图片等。 4. CSS样式表:用于定义组件的外观和样式。 5. XML配置文件:可能包含...

    Flex开发指南.pdf

    SWC库有两种类型:普通类型和RSL(Runtime Shared Library)类型。普通SWC在编译时会嵌入到SWF中,而RSL类型的库则利用运行时加载机制,允许在不增大SWF体积的情况下复用代码。 在Flex项目中,开发者可以修改...

    Creating_ActionScript3_components_in_flash_source

    总结,"Creating_ActionScript3_components_in_flash_source"这个教程旨在教导开发者如何在Flash环境中利用AS3创建自定义组件。通过掌握这一技能,开发者能够提升工作效率,创造出独特且功能丰富的Flash内容。同时,...

    Grid(5)[结合Combox组件]

    标题“Grid(5)[结合Combox组件]”表明我们将讨论的是在第五个级别的复杂性中如何将这两种组件集成。这可能意味着我们将在一个更复杂的环境中,例如包含多个数据列、数据绑定以及自定义行为的Grid中,实现Combox组件...

    Flex__as__面试题.doc

    在Flex开发中,ActionScript(AS)是主要的编程语言,而AS2和AS3是两个重要的版本。AS2与AS3的主要区别在于它们的基础架构和特性。AS2基于ActionScript Virtual Machine 1 (AVM1),而AS3则基于AVM2,后者提供了显著...

    《Flex企业应用开发实战》学习笔记之Flex企业应用开发基础[收集].pdf

    MXML中的ActionScript对象可以通过xmlns属性定义命名空间,同时有两种方式指定自定义ActionScript类的命名空间:一是使用类的包名,但存在局限性,无法表示多个包或使用相同前缀;二是使用自定义的命名空间编译组件...

    Flex实现仪表盘

    它使用MXML和ActionScript3.0这两种语言,其中ActionScript3.0是面向对象的编程语言,提供了强大的性能和丰富的功能。在本案例中,"Flex实现仪表盘"是一个利用ActionScript3.0开发的自定义UI组件,用于创建类似物理...

    Flex 页面与代码分离

    - **库文件**:可能包含自定义组件或图形资源。 四、实践步骤 1. **创建MXML组件**:使用MXML定义UI组件,包括布局、样式和组件实例。 2. **定义ActionScript类**:为每个MXML组件创建对应的ActionScript类,处理...

    Flexstore源码解析1 ViewStack+ToggleButtonBar实现幕布特效

    在“demo1”工程源码中,你可以找到具体的实现细节,包括XML布局文件(如.mxml)和ActionScript代码(如.as)。通过阅读和理解这些代码,你可以学习到如何在实际项目中应用上述技术,从而更好地掌握Flexstore框架和...

    Flex中文帮助教程

    Flex是Adobe公司开发的一个开源框架,主要用于构建富互联网应用程序(RIA),它结合了MXML和ActionScript两种语言,使得开发者可以创建交互性强、功能丰富的Web应用程序。 XML在Flex中的应用主要体现在数据绑定和...

Global site tag (gtag.js) - Google Analytics