`
longgangbai
  • 浏览: 7339220 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

针对Flex中组件的扩展的应用开发

阅读更多

在项目中使用一个自定义的CheckboxGroup组件继承自Checkbox组件

应用开发的在自定义组件中添加事件,添加属性

 

 

package component
{
import flash.events.Event;
import flash.events.MouseEvent;

import mx.controls.CheckBox;
import mx.events.FlexEvent;
import mx.events.ItemClickEvent;

//添加图片图标

[IconFile("GroupCheckBox.png")]

//设置绑定的默认的属性

[DefaultBindingProperty(source="selected", destination="selected")]

 

//设置绑定的默认的事件

[DefaultTriggerEvent("click")]

 

//继承几Checkbox类的应用

public class GroupCheckBox extends CheckBox
{

 private var _groupName:String;
 
 private var _value:String;
 
 public function GroupCheckBox()
 {
  //调用父类的方法进行处理化

  super();
  
        label = "GroupCheckBox";
        //添加事件监听
        addEventListener(FlexEvent.ADD, addHandler);
 }
 
    private var groupChanged:Boolean = false;
 
 [Inspectable(category="General", defaultValue="checkBoxGroup")]
    public function get groupName():String
    {
        return _groupName;
    }
   
    public function set groupName(value:String):void {
        if (!value || value == "")
            return;

        _groupName = value;
       
        groupChanged = true;

        invalidateProperties();
        invalidateDisplayList();

        dispatchEvent(new Event("groupNameChanged"));
    }
   
    [Inspectable(category="General", defaultValue="")]
    public function get value():String
    {
        return _value;
    }
   
    public function set value(value:String):void {
     _value = value;
    }
   
 private var _group:CheckBoxGroup;
 
    public function get group():CheckBoxGroup
    {
        // Debugger asks too soon.
        if (!document)
            return _group;

        if (!_group)
        {
            if (groupName && groupName != "")
            {
             try
             {
              _group = CheckBoxGroup(document[groupName]);
             }
             catch(err:Error)
             {
             }
            }
        }

        return _group;
    }
 
    public function set group(value:CheckBoxGroup):void
    {
        _group = value;
    }

    override protected function commitProperties():void
    {
        super.commitProperties();

        if (groupChanged)
        {
            addToGroup();

            groupChanged = false;
        }
    }

    private function addHandler(event:FlexEvent):void
    {
        if (!_group && initialized)
            addToGroup();
    }
   
    private function addToGroup():Object
    {
        var g:CheckBoxGroup = group; // Trigger getting the group
        if (g)
            g.addInstance(this);
        return g;
    }
   
    internal function changeSelected(fireChange:Boolean=true):void {
     if (fireChange)
     {
      dispatchEvent(new Event(Event.CHANGE));
     }
    }
   
    override protected function clickHandler(event:MouseEvent):void
    {
        if (!enabled)
            return;

        if (!_group)
            addToGroup();

        // Must call super.clickHandler() before setting
        //该调用完成selected值设置,并触发change事件
        super.clickHandler(event);
  if (!_group)
   return;
  //重新设置组的值
        group.itemChange(this);

        // Dispatch an itemClick event
        var itemClickEvent:ItemClickEvent =
            new ItemClickEvent(ItemClickEvent.ITEM_CLICK);
        itemClickEvent.label = label;
        itemClickEvent.index = group.indexOf(this);
        itemClickEvent.relatedObject = this;
        itemClickEvent.item = value;
        group.dispatchEvent(itemClickEvent);
    }
}
}

 

 

本类主要的目的讲述关于自定义组件的使用的开发,需要注意的事项的信息。

 

 

在一个List

分享到:
评论
2 楼 longgangbai 2011-08-31  
damoqiongqiu 写道
哥,文章都木有贴完整啊

不好意思,好几年的文章了,基本demo都不存在了,
只是强调一种思想.
1 楼 damoqiongqiu 2011-07-21  
哥,文章都木有贴完整啊

相关推荐

    flexlib flex的扩展组件

    Flexlib是一个针对Adobe Flex的开源组件库,它扩展了Flex框架的功能,提供了许多实用且功能强大的组件,使得开发者在构建富互联网应用程序(RIA)时能够更加高效和灵活。这个库包含了丰富的组件集,旨在增强Flex...

    FLEX企业应用开发实战(PDF+源码)

    9. **移动应用开发**:如果涵盖,会介绍如何使用Flex开发针对移动设备的应用,如Android和iOS平台。 10. **最佳实践与案例分析**:书中可能会包含实际项目开发的最佳实践,以及一些典型企业应用的案例分析。 源码...

    ADOBE FLEX和ADOBE FLASH BUILDER开发手机应用程序

    平台上一样在 Flex 中轻松而高质量地开发手机应用程序。 许多现有的 Flex 组件已扩展到移动设备上,其中包括增加了对触摸滚动的支持。Flex 4.5 还包含一组新组件,可用来轻松构建 采用手机和平板电脑标准设计模式的...

    Flex企业应用开发实战

    10. **性能优化**:在企业应用开发中,性能是关键。学习笔记会讲解如何优化Flex应用,包括减少HTTP请求、优化数据加载、缓存策略等。 通过《Flex企业应用开发实战》的学习,开发者不仅能掌握Flex的基本概念和技术,...

    Flex 3 组件实例与应用(2009版)

    《Flex 3 组件实例与应用》是一本针对初学者学习Adobe Flex 3框架及其组件的指南书籍。这本书由作者Dason编写,内容覆盖了Flex 3中的多种组件及其用法,并通过实际案例帮助读者更好地理解和掌握这些组件的应用场景和...

    Flex_3_RIA开发详解与精深实践.pdf

    9. **性能优化**:针对Flex应用程序的性能优化技巧,如减少重绘、内存管理等。 10. **移动和桌面应用**:Adobe AIR允许Flex应用扩展到桌面平台,书中可能介绍了如何使用Flex 3开发跨平台的应用。 11. **测试和部署...

    基于S32KDS平台SDK3.0编写的flexcan组件DMA例程

    在嵌入式系统开发中,S32KDS(S32K Development Studio)是NXP提供的一款强大的集成开发环境,专门针对S32K系列微控制器进行应用程序设计。S32K148是一款高性能的32位微控制器,广泛应用于汽车、工业和其他嵌入式...

    Flex开发移动设备应用程序

    - **现有Flex组件的扩展**: 许多已有的Flex组件被增强以支持触摸操作,例如触摸滚动。这使得开发者能够利用这些成熟的技术来构建新的移动应用程序。 - **新增的移动组件**: Flex 新增了一组专门为移动设备设计的组件...

    FlexLib FLEX高级组件的开源类库

    FlexLib是一个针对Adobe Flex开发的开源类库,它专门提供了许多高级组件,旨在增强和扩展Flex应用程序的功能。Flex是基于ActionScript 3.0的一种开放源代码的富互联网应用程序(RIA)框架,由Adobe公司开发。这个...

    使用FLEX4.5开发手机应用程序.pdf

    用户界面和布局在移动应用开发中占有重要地位。开发者需要处理各种用户输入方式,比如触摸、滑动等,并且要定义应用程序的启动屏幕和视图。此外,开发者还需要设置选项卡、导航控件、标题控件和操作控件,并使用滚动...

    FLEX 中文 教程

    通过本教程的学习,你将能够掌握Flex的基本概念,搭建开发环境,使用MXML和ActionScript编写应用程序,并了解如何利用Flex组件、数据绑定和事件处理来创建交互式的富互联网应用。不断探索和实践,你将成为一名熟练的...

    Flex4:开发RIA应用程序 pdf

    9. **移动开发**:Flex4也支持移动设备应用开发,通过Flex Mobile Project,开发者可以创建iOS、Android等平台的应用,利用相同的代码库实现跨平台开发。 10. **最佳实践**:学习Flex4的过程中,理解并遵循最佳实践...

    Flex企业应用开发实战配书源代码

    《Flex企业应用开发实战配书源代码》这个资源是一份针对Flex企业级应用开发的实践教程的配套源代码。Flex是一种用于构建富互联网应用程序(RIA)的开源框架,由Adobe公司开发,主要用于创建动态、交互性强的Web界面...

    Flex4 中文API

    8. **Mobile Development**:Flex4也扩展到了移动应用开发,通过Adobe AIR可以将Flex应用部署到iOS、Android等平台,提供了针对触摸操作的优化和设备访问API。 总之,Flex4中文API文档是开发Flex应用不可或缺的参考...

    Spring Actionscript IOC 框架与 Flex Cairngorm MVC 应用开发

    在开发 Flex 应用程序时,Spring Actionscript IOC 框架和 Cairngorm MVC 模式结合使用,可以显著提升代码的可维护性和可扩展性。Spring Actionscript 是一个针对 Actionscript3 设计的轻量级框架,其灵感来源于 ...

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

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

    Flex中文帮助文档(含4份.PDF文档)

    这份文档针对有一定Flex基础的开发者,涵盖了Flex的高级特性,如动画效果、皮肤设计、性能优化以及AIR(Adobe Integrated Runtime)桌面应用开发。通过学习,开发者可以提升应用的用户体验,优化代码性能,甚至将...

    flex 开发讲解,开发案例

    9. **Mobile Development**:随着移动设备的普及,Flex也扩展到了移动平台,Flex 4.5引入了Spark组件集,支持创建针对iOS和Android的应用程序。 10. **Flex案例分析**:在flexEg这个压缩包中,可能包含了各种Flex...

    Adobe Flex中文教程

    4. **Flex组件** - Flex提供了一系列预定义的UI组件,如按钮、标签、列表等,开发者可以通过MXML或ActionScript来使用这些组件。 - 自定义组件也是可能的,可以通过扩展现有组件或从头创建新的组件类。 5. **数据...

    flex自定义组件

    在本文中,我们将深入探讨`Flex`布局以及如何在前端开发中创建自定义组件,特别是针对`Flex`下的下拉组件。`Flex`布局是一种强大的CSS(层叠样式表)布局模式,允许开发者轻松地创建响应式和动态的用户界面。这种...

Global site tag (gtag.js) - Google Analytics