怎么使用Flex组件进行开发

这篇文章主要介绍了怎么使用Flex组件进行开发,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

使用Flex组件开发

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

引用Flex组件

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

<mx:Buttonidmx:Buttonid="myButton"label="ClickMe"/>

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

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

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

<?xmlversionxmlversion="1.0"?>  <!--usingas/ButtonExample.mxml-->  <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml">  <mx:Script><![CDATA[   privatefunctionsetLabel():void{   if(myButton.label=="ClickMe"){   myButton.label="Clicked";   }else{   myButton.label="ClickMe";   }   }   ]]></mx:Script>  <mx:Buttonidmx:Buttonid="myButton"label="ClickMe"click="setLabel();"/>  </mx:Application>

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

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

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

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

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

<?xmlversionxmlversion="1.0"?>  <!--usingas/FlexComponents.mxml-->  <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml">  <mx:Script><![CDATA[   privatevarnewFontStyle:String;   privatevarnewFontSize:int;   publicfunctionchangeLabel(s:String):void{   s="myButton"+s;   if(this[s].getStyle("fontStyle")=="normal"){   newFontStyle="italic";   newFontSize=18;   }else{   newFontStyle="normal";   newFontSize=10;   }   this[s].setStyle("fontStyle",newFontStyle);   this[s].setStyle("fontSize",newFontSize);   }   ]]></mx:Script>  <mx:Buttonidmx:Buttonid="myButton1"  click="changeLabel('2')"  label="ChangeOtherButton'sStyles" />  <mx:Buttonidmx:Buttonid="myButton2"  click="changeLabel('1')"  label="ChangeOtherButton'sStyles"  />  </mx:Application>

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

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么使用Flex组件进行开发”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/209165.html

(0)
上一篇 2021年12月7日
下一篇 2021年12月7日

相关推荐

发表回复

登录后才能评论