<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
xmlns:hz="com.hz.*"
creationComplete="initHandler(event)">
<fx:Script>
<![CDATA[
import Event.AddStuEvent; import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent; protected function initHandler(event:FlexEvent):void
{
stuInfo.stuColl=new ArrayCollection();
addEventListener(AddStuEvent.ADD_USER,addBtn);
} protected function addBtn(event:AddStuEvent):void
{ if(stuMana.stuName.text!=""&&stuMana.stuAge.text!="")
{
stuInfo.stuColl.addItem(event.object);
}
else
{
Alert.show("两项都要填三!","温馨提示");
}
} ]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:layout>
<s:HorizontalLayout gap="30" paddingBottom="30" paddingLeft="30" paddingRight="30" paddingTop="30"/>
</s:layout>
<hz:StuInfo id="stuInfo" width="50%" height="100%"/>
<hz:StuManager id="stuMana" width="50%" height="100%"/>
</s:Application>
上面是主application文件:
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="添加学生"
creationComplete="initHandler(event)">
<fx:Script>
<![CDATA[
import Event.AddStuEvent; import mx.events.FlexEvent; public function initHandler(event:FlexEvent):void
{
addBtn.addEventListener(MouseEvent.CLICK,addBtnHandler);
} protected function addBtnHandler(event:MouseEvent):void
{
var object:Object=new Object();
object={sName:stuName.text,sAge:stuAge.text};
dispatchEvent(new AddStuEvent(AddStuEvent.ADD_USER,object))
} ]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Form width="100%" height="100%">
<s:FormItem label="学生姓名:" required="true" width="100%">
<s:TextInput id="stuName" width="100%"/>
</s:FormItem>
<s:FormItem label="学生年龄" required="true" width="100%">
<s:TextInput id="stuAge" width="100%"/>
</s:FormItem>
</s:Form>
<s:controlBarContent>
<s:Button label="添加学生:" id="addBtn"/>
<s:Button label="修改信息" id="updateBtn"/>
</s:controlBarContent>
<s:controlBarLayout>
<s:HorizontalLayout horizontalAlign="center" gap="50" paddingTop="9" paddingBottom="9"/>
</s:controlBarLayout>
</s:Panel>

下面是自定义事件:定义了一个常量和要传递的参数,event属性只设置了string,bubble默认为false。

package Event
{
import flash.events.Event; public class AddStuEvent extends Event
{
public static const ADD_USER:String="addUser";
private var _object:Object=null;
public function AddStuEvent(type:String, object:Object)
{
super(type,true);
_object=object;
} public function get object():Object
{
return _object;
} public function set object(value:Object):void
{
_object = value;
}
override public function clone():Event
{
return new AddStuEvent(type,object);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="学生列表"
creationComplete="initHandler(event)">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
[Bindable]
public var stuColl:ArrayCollection=null;
protected function initHandler(event:FlexEvent):void
{
// TODO Auto-generated method stub }
private function stuArr(item:Object):String
{
var str:String=item.sName+"哈哈"+item.sAge;
return str;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:List id="stuList" width="100%" height="100%" dataProvider="{stuColl}" labelFunction="stuArr"> </s:List>
<s:controlBarContent>
<s:Button label="删除学生" id="deleteBtn"/>
</s:controlBarContent>
</s:Panel>

flex4.6事件分派+组件+参数传递的更多相关文章

  1. 进程内部异步事件调用组件Async-Event

    项目坐标:https://github.com/cncduLee/async-event async-event 进程内部异步事件调用组件 解决什么问题: 加速服务处理效率.提供进程级别的事件发布和异 ...

  2. OneAlert 入门(四)——事件分派和通知必达

    OneAlert 是国内首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有 IT 事件,提升 IT 可靠性.有了 OneAlert,你可以更快更合理地为事件划分 ...

  3. SSIS中执行SQL任务组件参数传递的问题

    原文:SSIS中执行SQL任务组件参数传递的问题 症状: 执行SQL任务,传递参数到子查询中,执行报错. 错误: 失败,错误如下:"无法从使用 sub-select 查询的 SQL 语句中派 ...

  4. jQuery事件触发和参数传递

    jQuery事件触发和参数传递: 参考:http://www.jb51.net/article/36249.htm <%@ page language="java" impo ...

  5. Android事件分派机制

    最近一直在学习Android里面的事件分派机制,感觉很奇妙,看了很多博客和分析,才在脑子里形成了一个模糊的概念,对事件分派有了一定的认识. 于是,我画了一个图来简单明了的表述Android中事件的分派 ...

  6. Android--Otto事件总线 -- 组件之间通讯框架使用 --模式解析

    前言:Otto事件总线 -- 组件之间通讯框架 对于之前的情况activity之间或者fragment之间等跳转传值一般都是用bundle.intent等,从activityA --- activit ...

  7. vue30-单一事件管理组件通信: vuex

    ------------------------------------------------------ 可以单一事件管理组件通信: vuex var Event=new Vue(); Event ...

  8. EventDispatcher 事件分发组件

    引言 考虑这样一个问题,现在你想给为你的项目提供一个插件系统,插件可以添加一些方法,或者在某些方法执行之前或者之后做些事情,而不干扰其他插件.要实现这个系统,简单的单继承不是个好办法,即使多继承在PH ...

  9. vuejs单一事件管理组件间的通信

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. Project Euler problem 62

    题目的大意很简单 做法的话. 我们就枚举1~10000的数的立方, 然后把这个立方中的有序重新排列,生成一个字符串s, 然后对于那些符合题目要求的肯定是生成同一个字符串的. 然后就可以用map来搞了 ...

  2. Mono For Android离线激活

    我们之前创建过Mono For Android的开发环境,但是使用一段时间后就说明证书过期,那如何破解呢? 但我说的这个也就只能使用免费的证书. 首先下载免费的证书,monoandroid.licx, ...

  3. Linux 调度器模拟

    http://www.ibm.com/developerworks/cn/linux/l-linux-scheduler-simulator/ LinSched LinSched 是驻留在用户空间中的 ...

  4. [转] Are You Making a Big Mistake in This Volatile Market?

    Stock market volatility continues unabated. It may be too early to tell, but I’m marking the top of ...

  5. android anim 动画效果(转)

    动画效果编程基础--AnimationAndroid      动画类型      Android的animation由四种类型组成      XML中    alpha    渐变透明度动画效果   ...

  6. Python之路,Day14 - It's time for Django

    Python之路,Day14 - It's time for Django   本节内容 Django流程介绍 Django url Django view Django models Django ...

  7. python-增删改查

    ###增删改查 names = ["zhangding","wangxu","wudong","cheng"] #增 n ...

  8. C#反射—解决类的实例化问题

    利用简单工厂模式来改进抽象工厂使用的复杂性(抽象工厂详见 设计模式之—抽象工厂模式) 数据表(User)业务处理接口(IUser) namespace FactoryMethodPatternDB.C ...

  9. HTML案例练习一

    发现其实JS也是挺容易的,也挺好玩的,写的一个控制图片移动的小案例,对DOM机制还是不怎么熟. <html> <head> <style type = "tex ...

  10. asp.net中Request.ServerVariables的用法

    在asp.net中可以通过HttpRequest.ServerVariables 属性来获取“ Web 服务器变量的集合” HttpRequest.ServerVariables 的用法: HttpR ...