用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   请大家多多关注[Flex应用案例],更希望大家[推荐好的案例]给我们
当前位置 :首页>Flex-AIR>Flex资料>列表

如何从零开始编写一个flex组件

[来源:zhuoqun.net | 作者:Dreamer | 时间:2008-03-30 | 点击:  | 收藏本文  【 】]
文原文:Component Class
原文地址:http://weblogs.macromedia.com/pent/archives/2007/10/component_class.cfm
原文作者:Peter Ent

译者:Dreamer. 此文的翻译已经获得原作者的同意,转载请注明出处,谢谢。

组件类

我经常看到这个话题——编写组件。通过这个例子,我将告诉你如何从零开始编写一个组件。我将要写几篇文章来探讨这个主题,在最后你就可以创建自己的组件了。

我把自己选择的这个组件叫做循环选择按钮。这个组件的显示的是dataProvider 中的某条纪录和两个箭头组成的一个圆环。当你选择按钮的时候箭头就会旋转一点同时显示dataProvider 中的下一个值。你可以把它想象成一个没有下拉列表的ComboBox组件。

 

 

你可以试着点击按钮,然后你就可以看到它是如何在各个值之间循环的。

Flex框架

想要创建一个Flex组件你必须理解Flex框架。一个组件的创建需要几个阶段,而在这些阶段Flex框架将多次遍历组件的继承层次来决定布局。

举个例子,假设一个Application中有两个VBox。一个VBox中有一些Button控件而另一个中有一些Label控件。要创建这些组件,Flex框架需要首先创建Application,然后创建VBox,然后是VBox的子控件。这是一次遍历。

如果没有对任何一个VBox指定高度或者宽度,那么你可能希望VBox足够大以便能够包含所有的子控件,对吗?为了计算VBox的大小,Flex框架需要决定它的每个子控件的大小。由于Button和Label并没有明确指定大小,所以Flex框架还需要决定它们的大小。这是另一次遍历。

一旦所有的计算都完毕的时候,Flex框架需要获得组件的大小属性和它们的位置。这又是一次遍历。

如同你看到的那样,创建组件并不是一件简单的事情,但是一旦你掌握了其中的窍门,它也并不是那么地困难。

为了方便地创建组件,Flex框架调用各个组件中的特定方法。通过实现这些方法,可以简单地使你的组件很好地适应框架。

有两种创建组件的方法:扩展一个已经实现了你想要的大部分功能的既有组件,或者由所有类的父类也就是最基础的类“从零开始”创建组件。

扩展一个既有的组件是最经常用的方法,而且他是你编写一个Flex程序的时候一直在使用的方法。当你使用一个根标签<mx:Application>创建主程序文件的时候,你就创建了一个组件(扩展自Application)。而当你创建了一个根标签为其它任意组件的MXML文件的时候,也相当于创建了一个组件;不论你是通过MXML还是ActionScript进行扩展组件的。

程序初稿

我们将会以修改HBox组件开始,但是从根本上来说我们想要扩展UIComponent。使用HBox可以很好地阐述概念。

上一页12 3 4 5 6 7 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:一些不错的关于Flex/AIR 的文章和视频
下一篇:又一款开源Flex调试工具Reflexutil
Tags:    组件 一个 编写 开始 如何 函数 这个 dataProvider selectedInde
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  Flex及AIR分类
  Flex资料   Flex动态
  Flex案例   Flex源码
  AIR资讯
  Flex相关
  寻找Flex工作机会
  发布Flex工作机会
  相关文章
·Flex 3处理外部XML的两种方式
·如何自定义Flex的loading画面
·基于Flex的在线图片编辑器
·FLEX 文本高亮类HighlightBlock
·【外文教程】如何自定义Flex组件
·FLEX地图应用教程之四
·FLEX地图应用教程之三
·FLEX地图应用教程之二
·FLEX地图应用教程之一
·分享AIR版的Flash调试工具
  热门文章
·用Adobe Flex 2和Java创建富Internet
·Flex 3 AdvancedDataGrid的使用(第二
·Flex中文官方帮助教程下载
·用Flex 3做AIR版html编辑器
·如何从零开始编写一个flex组件
·FLEX地图应用教程之一
·Flex 入门教程
·Adobe Flex编码指南v1.2(AS3 Flex3程
·2006年Flex大型优秀网站欣赏
·Flex 3 dvancedDataGrid的使用(第一部
·学习Flex几个值得研究的例程代码
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号