flex dispatchEvent 实例
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 实例的更多相关文章
- Flex 布局实例
如图: 代码如下: <!DOCTYPE HTML> <html> <meta charset="utf-8"> <head> < ...
- flex布局实例demo全解
上篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法. 你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我只列出代码,详细的语法解释请查阅<Flex布局教程:语法篇> ...
- [css flex布局]实例一,本来还想挺简单的,弄了挺久呢,先写一部分
全是代码,直接拷走吧,看是不怎么好看的 参考:http://www.ruanyifeng.com/blog/search.html?cx=016304377626642577906%3Ab_e9ska ...
- flex应用实例
代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...
- Flex:实例
目的: 代码: <!--pages/index/index.wxml--> <view class="container"> <view class= ...
- Flex Socket与Java通信实例说明(转)
Flex Socket与Java通信实例说明(转) 这两天一直在flex的Socket ,现在终于懂了很多.由浅到深一步一步深入.慢慢体会实例,虽然实例都是在网上找的,但也经过了我的测试.我比较喜欢注 ...
- Flex 布局教程实例
Flex 布局教程实例 一.Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 F ...
- flex布局语法+实例
一.什么是flex布局 flex 是 flexible box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 flex 布局.你可以将前端页 ...
- 在移动端中的flex布局
flex布局介绍: flex布局很灵活, 这种布局我们也可以称之为弹性布局, 弹性布局的主要优势就是元素的宽或者高会自动补全; flex布局实例: 比如有两个div,一个div的宽度为100px, ...
随机推荐
- Linux df 命令
Linux df 命令 df(disk free)功能说明:显示磁盘的相关信息.语 法:df [-ahHiklmPT][--block-size=<区块大小>][-t <文件系统类型 ...
- xml & 符号表示方法,xml转义字符
HTML,xml 中<, >,&等有特别含义,(前两个字符用于链接签,&用于转义),不能直接使用.使用这三个字符时,应使用他们的转义序列,如下所示: & 或 &am ...
- 【弱省胡策】Round #7 Rectangle 解题报告
orz PoPoQQQ 的神题. 我的想法是:给每一个高度都维护一个 $01$ 序列,大概就是维护一个 $Map[i][j]$ 的矩阵,然后 $Map[i][j]$ 表示第 $i$ 根柱子的高度是否 ...
- MySQL注入中load_file()函数的应用
常用的一些Load_File()函数攻击手法:
- Unity3D热更新
原地址:http://crazylights.cnblogs.com/ 下载在这个时代实在是太平常了,每个人都深刻的理解着下载到底是什么. 这一篇文字只是把下载的代码分享并介绍,而已. 首先,下载系统 ...
- 想弄清楚LIBEVENT和EPOLL之类的关系,不要因为走得太急而迷失了方向
要一步一步构架起整个体系, 来日方长. 系统调用级别的EPOLL和函数库LIBEVENT之间,大体关系应该是如何呢? 网上有说法: ~~~~~~~~~~~~~~ libevent对底层多路复用机制的封 ...
- jsp include包含html页面产生的乱码问题
大家都知道在jsp中include的有两种方式,一种是<jsp:include page="">,另一种是<%@ include file="" ...
- eclipse+tomcat7解决项目中文乱码的一个思路
1. 在代码层面进行编码的修改操作,参考博文的方法一:http://www.cnblogs.com/longshiyVip/p/4873058.html 2. 如果项目使用了struts2等前端框架, ...
- absolute和relative的几个Demo
这些例子最好通过FireFox结合FireBug调试查看 1.absolute让元素inline-block化 <!DOCTYPE html> <html xmlns="h ...
- URAL1012. K-based Numbers. Version 2
链接 考查大数 正好拿来学习下JAVA JAVA好高端.. import java.io.*; import java.math.*; import java.text.*; import java. ...