第15章 使用定制组件讲义.ppt

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第15章 使用定制组件 使用定制组件是在Flex提供的组件基础上创建自定义的组件模块。虽然Flex内置了大量的组件以满足不同应用的需求,但是这些组件只是用户界面中较为常见的元素。在大型的或者复杂的应用中,往往需要将这些基本元素组合,组成新的模块单元使用。对于这种情况,Flex提供了自定义组件的功能。本章主要介绍如何使用Flex编程语言创建自定义组件。 15.1 定制组件的方式 在前面讲述控件以及容器组件时,曾经遇到过使用自定义组件的例子,例如条目渲染器中的组件模块。这些例子中的自定义组件都是在MXML中定义。除在MXML定义外,Flex还提供其他的方式创建自定义组件。创建的组件既可作为其他组件的一部分,又可以作为应用界面的一部分。 Flex提供如下三种方式创建自定义组件: 使用MXML 该方式与在MXML创建应用类似。将自定义组件中组件元素定义在MXML中的组件文件中。 使用ActionScript 该方式完全依赖于ActionScript中与组件对应的类。通过继承组件类实现类似于MXML中创建组件的功能。 组合使用MXML和ActionScript 15.2 使用MXML创建组件 使用MXML创建组件时,组件内所有的元素都定义在MXML中。这种方式与创建Flex应用界面的方式有些类似。不同点在于,创建Flex应用页面时,将所需要的界面元素加入到页面文件中。而自定义组件时,将所需要的界面元素加入到组件文件中。 使用MXML创建组件,MXML文件不再以mx:Application开始。如果自定义组件中包含多个元素,以组件最外层容器的名称开始。例如组件在垂直盒子容器VBox中创建,则组件文件的开头和结尾标签均为mx:VBox,代码如下所示。 ?xml version=1.0 encoding=utf-8? mx:VBox xmlns:mx=/2006/mxml /mx: VBox 15.2.1.使用Flex Builder创建组件文件 使用MXML方式定制组件,最方便的方法就是在Flex Builder中利用Flex Builder丰富的选项进行创建。 如何在Flex Builder中创建MXML组件呢?在使用Flex Builder创建新文件时,可以发现MXML Component选项,该选项的作用创建新的组件文件,如图15.1所示。选择MXML Component选项后,Flex Builder弹出标题为“New MXML Component”的对话框。在该对话框中,可以选择创建自定义组件的目录,组件的名称以及组件的容器。然后出现图所示界面。 15.2.2 创建自定义组件 在使用Flex Builder创建组件文件后,即可在组件文件中添加需要的界面元素。下面的例子中,创建了2个自定义组件myComponent1和myComponent2。然后在应用中使用这两个自定义的组件,如图所示。 15.2.3 组件与应用文件的数据交互 在使用多个组件文件时,往往需要在组件文件间共享数据,或者从组件中获得数据。获得数据的方法很多,例如:可以在插入组件时,在组件标签内以组件文件中的变量名为属性赋值,也可以使用parentDocument获得引用该组件的文件中的变量。如果多次嵌套使用组件,可以使用parentApplication获得根应用的变量。 下面的例子中,在应用中使用myComponent1.mxml和myComponent2.mxml定义的组件。而在myComponent1和myComponent2都用到了myCombo.mxml中定义的组件,即图中的“选择区域“选项。 15.3 使用ActionScript创建组件 在Flex中,所有组件都有其对应的ActionScript类。例如文件控件(Text Control)对应的ActionScript类为mx.controls.Text类。在ActionScript中可以通过继承组件对应类来创建组件。下面的代码继承mx.controls.Button类,创建了一个自定义的按钮。 package { import mx.controls.Button; //继承Button类 public class MyButton extends Button { public function MyButton(){ label = haha; } } } 15.4 组合使用MXML和ActionScript 组合使用MXML和ActionScript时,在应用文件中有的组件使用MXML定义,有的组件使用ActionScript定义,这是一种混合方式。无论使用MXML还是ActionScript,对于Flash Player都是相同的,即他们的原理相同。所以

文档评论(0)

taotao0a + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档