<? xml version="1.0" encoding="utf-8" ?> < mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml" layout ="absolute" > < mx:Script > <![CDATA[ import flash.events.MouseEvent; internal function changeState(event:MouseEvent):void{ if(this.currentState=="detail"){ //currentState属性代表了目前的状态, this.currentState=""; btnLinkButton.label="了解详情"; }else{ this.currentState="detail"; btnLinkButton.label="返回简介"; } } ]]> </ mx:Script > < mx:states > < mx:State name ="detail" > <!-- Mx:states标签中添加一对标签mx:state ,用来定义一个状态,state对象可以使用以下方法 SetEventHandler 设置对象某一事件的监听方法。 SetProperty 设置对象的属性 SetStyle 设置对象的样式 AddChild 向对象添加一个子级元素 RemoveChild 删除一个子级元素 Transition 设置状态的过渡动画效果 --> <!-- 向对象添加一个子级元素 --> < mx:AddChild relativeTo ="{ControlPanel}" position ="lastChild" creationPolicy ="all" > <!-- relativeTo表示目标容器, position表示新对象在容器中的位置,可选的值有before after firstChild lastChild . before 和after 分别表示添加到对象所在容器中,处于对象位置的前面或后面。 fistChild 表示在所有子级元素的最前面 lastChild 表示在所有子级元素的最后 createPolicy可以控制对象对子级元素的显示操作,可选的值有all,auto,none,queued,默认为auto ,如果没有特殊要求,设为all就可以了。 all 表示总是创建对象 auto 表示只有需要对象时才创建 none 表示不创建对象,直接调用createComponentsFromDescription函数时才创建他。 queued 表示将对象放在等待创建的队列中,对象完成初使化再开始创建子级元素。 --> < mx:Text width ="100%" > < mx:htmlText > <![CDATA[ 美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊! 美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊! 美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊! 美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊!美女啊! ]]> </ mx:htmlText > </ mx:Text > </ mx:AddChild > <!-- 设置对象的属性 --> < mx:SetProperty target ="{ControlPanel}" name ="title" value ="详细情况" ></ mx:SetProperty > <!-- 设置对象某一事件的监听方法 --> < mx:SetEventHandler target ="{btnLinkButton}" name ="click" handlerFunction ="changeState" ></ mx:SetEventHandler > <!-- 设置对象的样式 --> < mx:SetStyle target ="{btnLinkButton}" name ="color" value ="#990000" ></ mx:SetStyle > <!-- 删除一个子级元素 --> < mx:RemoveChild target ="{image}" ></ mx:RemoveChild > </ mx:State > </ mx:states > < mx:Panel x ="10" y ="10" width ="399" height ="312" layout ="absolute" id ="ControlPanel" title ="状态的改变" > < mx:Image x ="10" y ="10" source ="img/5.jpg" width ="128" height ="189" id ="image" /> < mx:ControlBar > < mx:LinkButton label ="了解详情" id ="btnLinkButton" click ="changeState(event)" /> </ mx:ControlBar > </ mx:Panel > </ mx:Application >