flashbuilder sdk:3.6;jdk:1.7,;tomcat:7;myeclipse:10.0

Flex dispatchEvent实例下载:点击打开链接

Flex dispatchEvent实例:所谓dispatchEvent是一个什么东西呢?按照我单纯 的理解,就是我定义了一个事件,然后去监听这个事件,最后,当有人触发这个事件的时候,就调用监听程序进行处理。好了,废话不多说了,看代码吧。

首先说下思路:

页面里面有一个Button,点击button后,会有两个操作,一是弹出另外一个窗口,二是注册自定义事件(加自定义事件的监听);然后在弹出窗口定义函数,主要是发送自定义事件以及输入框的参数到后台,后台打印传过来的参数;

这里首先自定义了一个事件类,如下:

package fz.event
{
import flash.events.Event; /**
* user defined event;
* used to listen the CHANGE_FLAG attribute
*/
public class MyEvent extends Event
{
static public var CHANGE_FLAG :String ="change_flag"; static public var CHANGE_FLAG2: String ="change_flag2"; public var info:String; // info from flex public function MyEvent(type:String,info:String ,bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
this.info=info;
}
}
}

这个事件类有两个static属性(change_flag2可以暂时不管)和一个一般属性;看第一个button如何加监听:

public  function addListen_click():void{

	// add listener in the father panel
var btpopmenu:BtPopMenu=BtPopMenu(PopUpManager.createPopUp(this,BtPopMenu,true)); //Alert.show("after new BtPopMenu");
btpopmenu.addEventListener(MyEvent.CHANGE_FLAG,saveInfo); PopUpManager.centerPopUp(btpopmenu);
}

上面是第一个button的click属性函数,其中BtPopMenu就是自定义的一个弹出式窗口,如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" showCloseButton="true"
layout="absolute" width="400" height="300" close="this.close()">
<mx:Metadata>
[Event(name="CHANGE_FLAG",type="fz.event.MyEvent")]
</mx:Metadata>
<mx:Script>
<![CDATA[
import fz.event.MyEvent;
import mx.managers.PopUpManager; public function pop_click():void{
var info:String =input.text;
// 新建事件
var myEvent:MyEvent =new MyEvent(MyEvent.CHANGE_FLAG,info);
// 发送事件
dispatchEvent(myEvent);
} private function close() : void {
PopUpManager.removePopUp(this);
}
]]>
</mx:Script> <mx:VBox height="100%">
<mx:HBox>
<mx:Label text="输入后台要打印的数据:" />
<mx:TextInput id="input" />
</mx:HBox>
<mx:Button id="popBt" label="后台打印吧" click="pop_click()"/>
</mx:VBox> </mx:TitleWindow>
btpopmenu.addEventListener(MyEvent.CHANGE_FLAG,saveInfo);

上面一句就是加监听的了,这里是把MyEvent的CHANGE_FLAG属性作为监听的对象,然后如果检测到有事件的话,就调用saveInfo方法,这个再说。

看弹出的窗口中的button的click函数:

public function pop_click():void{
var info:String =input.text;
// 新建事件
var myEvent:MyEvent =new MyEvent(MyEvent.CHANGE_FLAG,info);
// 发送事件
dispatchEvent(myEvent);
}

click函数创建了一个MyEvent的CHANGE_FLAG事件,然后发送这个事件,所以在第一个button中的事件监听就会收到这个事件,就会调用saveInfo方法:

/**
* 注册监听事件,当有事件发送时,后台打印
*/
public function saveInfo(e:MyEvent):void{ var info:String =e.info;
// Alert.show("info:"+info);
save_info.printInfo(info);
}

这里的save_info是RemoteObject,在remoting-config.xml中配置。

看下前台展示效果吧:

分享,成长,快乐

转载请注明blog地址:http://blog.csdn.net/fansy1990

flex dispatchEvent 实例的更多相关文章

  1. Flex 布局实例

    如图: 代码如下: <!DOCTYPE HTML> <html> <meta charset="utf-8"> <head> < ...

  2. flex布局实例demo全解

    上篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法. 你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我只列出代码,详细的语法解释请查阅<Flex布局教程:语法篇> ...

  3. [css flex布局]实例一,本来还想挺简单的,弄了挺久呢,先写一部分

    全是代码,直接拷走吧,看是不怎么好看的 参考:http://www.ruanyifeng.com/blog/search.html?cx=016304377626642577906%3Ab_e9ska ...

  4. flex应用实例

    代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...

  5. Flex:实例

    目的: 代码: <!--pages/index/index.wxml--> <view class="container"> <view class= ...

  6. Flex Socket与Java通信实例说明(转)

    Flex Socket与Java通信实例说明(转) 这两天一直在flex的Socket ,现在终于懂了很多.由浅到深一步一步深入.慢慢体会实例,虽然实例都是在网上找的,但也经过了我的测试.我比较喜欢注 ...

  7. Flex 布局教程实例

    Flex 布局教程实例 一.Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 F ...

  8. flex布局语法+实例

    一.什么是flex布局 flex 是 flexible box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 flex 布局.你可以将前端页 ...

  9. 在移动端中的flex布局

    flex布局介绍: flex布局很灵活, 这种布局我们也可以称之为弹性布局,  弹性布局的主要优势就是元素的宽或者高会自动补全; flex布局实例: 比如有两个div,一个div的宽度为100px, ...

随机推荐

  1. RPM是RedHat Package Manager(RedHat软件包管理工具)

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...

  2. 浏览器九宫格的简单实现 - 蒋宇捷的专栏 - 博客频道 - CSDN.NET

    CSS3 来源:http://blog.csdn.net/hfahe/article/details/6125890#1536434-hi-1-22083-42d97150898b1af15ddaae ...

  3. HDU 1176 免费馅饼(DP)

    点我看题目 题意 : 中文题.在直线上接馅饼,能接的最多是多少. 思路 :这个题其实以前做过.....你将这个接馅饼看成一个矩阵,也不能说是一个矩阵,反正就是一个行列俱全的形状,然后秒当行,坐标当列, ...

  4. PHP basename() 函数

    定义和用法 basename() 函数返回路径中的文件名部分. 语法 basename(path,suffix) 参数 描述 path 必需.规定要检查的路径. suffix 可选.规定文件扩展名.如 ...

  5. [Gauss]POJ3185 The Water Bowls

    题意:反正就是要给的一串01的变成全0 能影响自己和左右 最少需要几步 01方程组 异或解 ][]; // 增广矩阵 ]; // 解 ]; // 标记是否为自由未知量 int n; void debu ...

  6. sql 复杂自动编号错误批量修改方案

    [一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/5133953.html]  前提:自动编号为18位,前4位是年份,中间10位是XXXX,最后四位 ...

  7. [codility]Array-closest-ascenders

    http://codility.com/demo/take-sample-test/pi2012 又是一道单调栈的题目.首先这道题目n^2是最朴素的做法.继续优化,因为和顺序有关就不好排序.然后,看到 ...

  8. Android UI性能优化详解

    设计师,开发人员,需求研究和测试都会影响到一个app最后的UI展示,所有人都很乐于去建议app应该怎么去展示UI.UI也是app和用户打交道的部分,直接对用户形成品牌意识,需要仔细的设计.无论你的ap ...

  9. javascript模板引擎Mustache

    Mustache(英文本意:触须,胡须)是基于JavaScript实现的模版引擎,类似于JQuery Template,但是这个模版更加的轻量级,语法更加的简单易用,很容易上手. 下载:https:/ ...

  10. jquery checkbox获取多个选项

    http://www.jb51.net/article/27186.htm http://www.cnblogs.com/libingql/archive/2011/11/07/2238663.htm ...