flex event标签
ActionScript 3语言:
package?
event
{ ?? import? flash.events.Event; ?? public? class? MyEvent? extends? Event ?? { ???? static? const? EVENT_TEST : String = "EventTest"; ???? function? MyEvent( type ,? bubbles Boolean = false cancelable false) ???? { ?????? super( cancelable); ???? } ?? } } ? 定义MyButton extends Button
MXML语言:
<?xml version="1.0" encoding="utf-8"?>
<s:Button? xmlns:fx= "http://ns.adobe.com/mxml/2009" ?????? xmlns:s= "library://ns.adobe.com/flex/spark" ?????? xmlns:mx= "library://ns.adobe.com/flex/halo" ?????? click= "dispatchEvent(new MyEvent(MyEvent.EVENT_TEST));" > ?? <fx:Script> ???? <![CDATA[ ?????? import? event.MyEvent; ???? ]]> ?? </fx:Script> ?? <fx:Metadata> ?????? <!--在Metadata标签下定义Event编译期间检查--> ??????? [Event(name ="EventTest",type ="event.MyEvent")] ?? </fx:Metadata> </s:Button> ? Main App <s:Application?
"http://ns.adobe.com/mxml/2009"
?
解释: ? 1· 在MyButton中将[Event]标签放入Metadata标签中,则告诉编译器该空间会产生该种Event, ???如果此时dispatchEvent出去的Event不是该种类型 则在编译期间及会报错。 2· 在主类中<my:MyButton id="my1" EventTest="myTa.text='got Event';" x="208" y="213"></my:MyButton> ?? 由于EventTest已经在Metadata做了标记,即可使用代码提示功能找到相应的Event。 ???EventTest="myTa.text='got Event';"??表示为EventTest 这个Event注册一个监听者,监听到信息后处理方式为 ?? myTa.text='got Event' , same as the?EventTest="handleEvent(event) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |