logo
 
 
|
|
|
|
|
|
|
|
 
 
您的位置:首页 - 专业知识
Flex事件初探
[2011-03-17]
Flex事件初探



作者:陈明

        Flex中事件是编写应用程序的基础,事件主要是和用户交互的基础,对于Flex3使用的ActionScript3语言中,事件实际上是一个对象。事件的监听原理采用的是观察者模式。和Javascirpt语言中基本一致,事件虽然多,但是主要不外乎鼠标事件(MouseEvent)和键盘事件(KeyboardEvent)使用的最为广泛,当然如果读者有Javascirpt的编程经验学习起来就更简单了,本次我们就先来看一个关于鼠标事件的例子:
 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"  creationComplete="init()">
 <mx:Script>
  <![CDATA[
   import mx.core.UIComponent;
   import mx.controls.Alert;
   [Bindable]
   private var myt:String="aaa";
   
   var g:Graphics;
   private function init():void
   {
    //按钮点击事件注册
    btn.addEventListener(MouseEvent.CLICK,myclick);
    //Canvas的鼠标按下(MouseDown)事件监听注册
    pan.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
    //Canvas的鼠标抬起(MouseUp)事件监听注册
    pan.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
    g= pan.graphics;
   }
   //点击事件处理
   private function myclick(e:MouseEvent):void
   {
    
    myt="点了";
   }
   //鼠标按下事件处理
   private function onMouseDown(e:MouseEvent):void{
    g.endFill();
    //mouseX,mouseY是鼠标的顶级属性用来记录鼠标的位置
    g.moveTo(mouseX,mouseY);
    //设置画笔样式
    g.lineStyle(2,0xFF0000,1);
    //Canvas的鼠标移动(MouseMove)事件监听注册
    pan.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMove); 
   }
   //鼠标移动事件处理
   private function onMouseMove(e:MouseEvent):void
   {
    g.lineTo(mouseX,mouseY);
    myt=mouseX+","+mouseY;
   }
   //鼠标抬起事件处理
   private function onMouseUp(e:MouseEvent):void
   {
    pan.removeEventListener(MouseEvent.MOUSE_MOVE,onMouseMove);
   }
   
  ]]>
 </mx:Script>
 
 <mx:Canvas  width="511" height="334" id="pan" borderColor="#FB0303" cornerRadius="10"  borderStyle="solid">
 </mx:Canvas>
 <mx:Panel  y="400" width="266" height="187" layout="absolute">
  <mx:Button x="80" y="97" label="Button" width="96" height="25" id="btn"/>
  <mx:Label x="80" y="25" text="{myt}" fontSize="12"/>
 </mx:Panel>
</mx:Application>

        总结下:鼠标事件常用的不外乎是点击以及按下抬起等等事件, flash.events 也好 mx.event.*; 也好 他们无非都是人家封装好的类,Java里不说吗万事万物皆对象 他们都是提供了一些功能比如 你注册一个鼠标离开的事件 当你鼠标离开后 你可以自己定义函数 具体做什么处理,你自己也可以写个事件你想叫什么名字都可以,一般都把这称作为观察者模式,你可以看看他们已有点时间其实那些事件里 都是String字符串而已 根据标记判断你要用哪个事件

上一篇:如何学好Linux这门课
下一篇:渗透测试
   
Flex控件外观设计 Flex控件外观设计
Flex两页面间的传值问题总结 Flex两页面间的传值问题总结
Flex连接数据库的主要四种方式(一) Flex连接数据库的主要四种方式(一)
Skype拟对宕机事件受影响用户提供赔偿点数 Skype拟对宕机事件受影响用户提供赔偿点数
Google最新浏览器Chrome 5初探:功能有大改进 Google最新浏览器Chrome 5初探:功能有大改进
 

在线报名

  • 姓       名:*
  • 高考成绩:*
  • 电       话:*
  • 地       址:*
 
课程咨询
 

 
中博教育客服在线
 
©南京北大青鸟 隐私政策
学费咨询
学历咨询
专业咨询
订座试听
就业咨询
课程咨询
测试认证
软件认证