学习笔记如何使用Flex组件进行开发

本文和大家重点讨论一下使用Flex组件开发,Flex提供了几种技术来使用可视化的控件和容器来开发,包括了用ActionScript引用Flex控件以及操控控件和容器的实例的属性。

创新互联服务项目包括楚雄州网站建设、楚雄州网站制作、楚雄州网页制作以及楚雄州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,楚雄州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到楚雄州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

使用Flex组件开发

在Flex应用程序中ActionScript的最主要的用处大概就是使用可视化的控件和容器来开发了。Flex提供了几种技术来完成这样工作,包括了用ActionScript引用Flex控件以及操控控件和容器的实例的属性。

引用Flex组件

为了在ActionScript中使用Flex组件,我们一般要在MXML标签中给Flex组件定义一个id属性。例如,下面的代码中,我们设置了Button控件的id属性为”myButton”:

 
 
 
  1.  

◆如果你并不像通过使用ActionScript来操控这个Flex组件,那么这个属性是可有可无的。

这段代码使得MXML编译器自动生成一个包含了Button实例的引用的名字为myButton的公共变量。你可以在ActionScript中通过使用这个自动生成的变量来操控Flex组件。你可以在任意的ActionScript类或代码块中通过Flex组件的id来明确的引用Button控件的实例。通过引用Flex组件的实例,你可以修改Flex组件的属性并且调用Flex组件的方法。

例如,下面的ActionScript代码块中,当用户点击了按钮的时候,程序就会改变Button控件的label属性的值:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. privatefunctionsetLabel():void{  
  9.  
  10. if(myButton.label=="ClickMe"){  
  11.  
  12. myButton.label="Clicked";  
  13.  
  14. }else{  
  15.  
  16. myButton.label="ClickMe";  
  17.  
  18. }  
  19.  
  20. }  
  21.  
  22. ]]> 
  23.  
  24.  
  25.  
  26.  
  27.  

 

所有的MXMLFlex组件的id属性,无论它们嵌套的有多深,生成的都是已经定义好的Flex组件的公共变量。因此,在文档中所有的id属性必须是***的。这也意味着,如果你指定了Flex组件实例的id属性,你就可以在程序的任意地方来操控Flex组件:函数,外部的类文件,导入的ActionScript文件,或者内嵌代码。

◆如果Flex组件并没有id属性,你可以通过使用Flex组件的容器的一些方法来引用该Flex组件。比如getChildAt()和getChildByName()方法。

你可以参照目前内附文件或者当前对象来使用这样的关键字。

你也可以通过使用跟Flex组件名称一样的字符来引用Flex组件。要在程序中使用对象,你可以通过使用方括号,方括号内存放的就是跟Flex组件名称一样的字符串。这样你就得到了该对象的引用。

下面的例子中,通过使用字符串来获取对象的引用,然后改变每个Button控件的样式:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. privatevarnewFontStyle:String;  
  9.  
  10. privatevarnewFontSize:int;  
  11.  
  12. publicfunctionchangeLabel(s:String):void{  
  13.  
  14. s="myButton"+s;  
  15.  
  16. if(this[s].getStyle("fontStyle")=="normal"){  
  17.  
  18. newFontStyle="italic";  
  19.  
  20. newFontSize=18;  
  21.  
  22. }else{  
  23.  
  24. newFontStyle="normal";  
  25.  
  26. newFontSize=10;  
  27.  
  28. }  
  29.  
  30. this[s].setStyle("fontStyle",newFontStyle);  
  31.  
  32. this[s].setStyle("fontSize",newFontSize);  
  33.  
  34. }  
  35.  
  36. ]]> 
  37.  
  38.  
  39. click="changeLabel('2')" 
  40.  
  41. label="ChangeOtherButton'sStyles" 
  42. /> 
  43.  
  44.  
  45. click="changeLabel('1')" 
  46.  
  47. label="ChangeOtherButton'sStyles" 
  48.  
  49. /> 
  50.  
  51.  
  52.  

 这个小技巧有着比较特殊的用处,当你在用Repeater控件或用ActionScript创建了一个对象的时候,你不必知道对象的名字你也可以在运行时来引用该对象。但是,当你用ActionScript实例化一个对象的时候,如果要添加该对象到应用程序的属性数组(按本人的理解:该数组为应用程序的数组,包含程序中定义的Flex组件的实例)中去,你必须定义该变量为public并且要在整个的类的作用域范围定义,而不是在函数的内部定义。

本文标题:学习笔记如何使用Flex组件进行开发
本文路径:http://www.shufengxianlan.com/qtweb/news3/402753.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联