- 浏览: 19322 次
- 性别:
- 来自: 苏州
最新评论
自定义带参数的事件应该明白:
(1)自定义事件继承Event时的构造函数里面带参数。
(2)同样需要触发系统事件,然后派发自定义事件。
新建一个ActionScript Class,这个Class继承flash.events.Event。
TransferData.as类代码:
package { import flash.events.Event; public class TransferData extends Event { public static const CUSTOMEVENT:String = "customevent"; public var loginName:String; public var password:String; public function TransferData(type:String, loginName:String, password:String) { super(type); this.loginName = loginName; this.password = password; } override public function clone():Event{ return new TransferData(type,loginName,password); } } }
然后创建component来设计并实现数据的传输和接受。
DispatchData.mxml代码如下
<?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init()"> <fx:Metadata> [Event(name="customevent",type="customEvent.TransferData")] </fx:Metadata> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> <mx:Validator id="InputLoginName" source="{loginName}" property="text"/> <mx:Validator id="InputPassword" source="{password}" property="text"/> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; private function init():void{ dispatchData.addEventListener(MouseEvent.CLICK,clickHandle); } private function clickHandle(event:MouseEvent):void{ if(loginName.text != "" && password.text != ""){ canDispatchData(); }else{ Alert.show("Please input the content,contain login name and the password!"); } } private function canDispatchData():void{ var loginEvent:TransferData = new TransferData("customevent",loginName.text,password.text); this.dispatchEvent(loginEvent); } ]]> </fx:Script> <s:Panel x="0" y="0" width="300" height="200" title="The DataSource Panel"> <mx:Form x="10" y="10"> <mx:FormItem label="Login Name:" fontWeight="bold" required="true"> <s:TextInput id="loginName"/> </mx:FormItem> <mx:FormItem label="Password:" fontWeight="bold" required="true"> <s:TextInput id="password"/> </mx:FormItem> <s:Button label="DispatchData" id="dispatchData"/> </mx:Form> </s:Panel> </s:Group>
ReceiveData.mxml代码如下
<?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <s:Panel x="0" y="0" width="300" height="200" title="The DataReceive Panel"> <mx:Form x="10" y="10"> <mx:FormItem label="Login Name:" fontWeight="bold"> <s:TextInput id="loginName" editable="false"/> </mx:FormItem> <mx:FormItem label="Password:" fontWeight="bold"> <s:TextInput id="password" editable="false"/> </mx:FormItem> <s:Button label="ReceiveData" id="receiveData"/> </mx:Form> </s:Panel> </s:Group>
LoginEvent.mxml代码
<?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:component="*" creationComplete="init()" width="900" height="400" > <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; private var loginName:String; private var password:String; private function init():void{ dispatch.addEventListener(TransferData.CUSTOMEVENT,dispatchData); receive.addEventListener(MouseEvent.CLICK,receiveData); } private function dispatchData(event:TransferData):void{ loginName = event.loginName; password = event.password; Alert.show("loginName:"+loginName+"\npassword:"+password); } private function receiveData(event:MouseEvent):void{ receive.loginName.text = loginName; receive.password.text = password; } ]]> </fx:Script> <component:DispatchData id="dispatch" x="100" y="100"/> <component:ReceiveData id="receive" x="500" y="100"/> </s:Group>
在Flex工程主程序里面引入component即可
<?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" xmlns:component="*" minWidth="955" minHeight="600" horizontalCenter="0" verticalCenter="0"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <s:Panel title="Show dispatch and receive data" horizontalCenter="0" verticalCenter="0"> <component:LoginEvent/> </s:Panel> </s:Application>
界面如下:
发表评论
-
Flex中用state来表示不同的状态的经典的例子
2012-03-20 21:06 660<?xml version="1.0" ... -
flex自定义组件的制作
2012-03-21 10:22 1202以登录组件为例,说明自定义组件的使用 1.首先新建一个组件, ... -
flex自定义无参数事件
2012-03-21 11:14 621自定义事件必须注意几点: (1)自定义事件通过继承Event ... -
flex自定义右键菜单
2012-03-21 15:56 1314<?xml version="1.0" ... -
flex currenTarget与 target 的区别
2012-03-24 14:04 871开始学习Flex,会在别人 ... -
dataGrid过滤器查询和渲染器的使用
2012-03-26 09:19 1257以前没用过滤器,查询比较麻烦,需要遍历整个arrayColle ... -
Flex tree增加,删除,查询并定位节点
2012-03-27 17:14 1087直接上代码: <?xm ... -
Flex tree 双击展开收起节点,更改图标设置
2012-03-28 09:33 1403首先设置tree属性doubleClickEnabled=&q ... -
Flex tree 模糊查询节点,重复节点再次查询自动下一个
2012-03-29 10:55 1111//根据关键字 ... -
flex 在线帮助文档
2012-03-31 15:55 911flex 在线帮助文档: http://livedocs.a ... -
Flex设置form表单一些属性设置
2012-04-01 15:53 1488设置form表单label左对齐 ... -
一个小错误浪费了我时间
2012-05-02 20:02 658<mapper namespace="com. ... -
Flex 字幕滚动效果 网站公告效果
2012-05-07 14:17 1355这篇总结的不错 <?xml version ...
相关推荐
- 运行测试并验证结果。 #### 19. Demo10:DataGrid - **DataGrid**: Flex 中用于展示数据表格的组件。 - **功能**: - 动态加载数据。 - 排序、筛选等功能。 - 数据编辑支持。 #### 20. Flex 和 Java 通信 -...
9. **扩展和自定义**:Flex SDK允许开发者通过自定义编译器配置文件(flex-config.xml)来扩展编译器行为,实现特定的编码规范或项目需求。 总之,Flex编译涉及到了ActionScript和MXML的语法理解、Flex SDK的使用、...
- **数据验证**: 确保输入的数据符合预期的格式和范围。 - **数据格式化**: 如日期格式化、数字格式化等,以提高用户体验。 **知识点11:进一步了解数据处理** - **高级数据处理**: 包括数据过滤、排序、聚合等操作...
flex3的cookbook书籍完整版dpf(包含目录),目录是我花了两个多小时自己整理的,希望对大家有帮助。 目录: 第一章.Flex与ActionScript基础(3) 1.1节.用FlexBuilder创建Flex项目 1.2节.用FlexBuilder创建Flex库项目 ...
AMF(Action Message Format)是一种用于Flash/Flex与服务器端进行通信的数据交换格式。配置AMF Message Destinations,使得Flex客户端可以通过AMF协议发送消息到服务器端。 **使用JMS Message Destinations:** ...
- 测试与Java服务端的数据交互是否正常。 #### 七、总结 本文详细介绍了一种使用BlazeDS实现Java与Flex之间通信的方法。通过这些步骤,开发者可以建立起一个基本的通信框架,并在此基础上扩展更多的功能。BlazeDS...
在实际应用中,开发者可能会创建一个测试数据集,模拟用户的各种操作,包括选择节点、触发事件等,以确保树组件的正确性。 总结,Flex Tree在处理层次数据时提供了丰富的功能。通过理解数据模型、节点操作以及与...
- **设备上的测试**:直接在目标设备上测试应用是验证其功能和性能的最佳方式。 #### 7. 打包与发布 **打包与发布** 当应用开发完成后,就需要对其进行打包以便发布到相应的应用商店。 - **导出 Android APK 包*...
利用BlazeDS,Flex客户端可以订阅Java服务器上的事件,实时获取更新数据,同时也可以调用服务器端的业务逻辑方法。 ### 10. ASP.NET的线程同步问题 ASP.NET是Microsoft提供的一种Web开发框架,它使用线程池来处理...
开发团队可以使用它来测试和验证数据库操作,确保代码的正确性。 五、学习与进阶 掌握SQL Explorer需要对SQL语言有基本了解,同时需要熟悉Flex开发环境。Adobe Flex Builder或IntelliJ IDEA等集成开发环境(IDE)...
4. **数据驱动测试**:有效利用数据表和其他数据源,实现测试案例的参数化。 5. **调试技巧**:了解如何使用调试工具定位问题所在,提高调试效率。 #### 六、QTP11与其他测试工具的比较 - **Selenium**:Selenium...
3. **AS Classes**:ActionScript类文件,包括业务逻辑、数据模型、事件处理等。 4. **Config Files**:配置文件,如server.xml或application.xml,用于设置服务器的行为和参数。 5. **Documentation**:可能包含...
这个项目旨在提供一个平台,用于测试和验证在Shiny应用中使用数据表的各种功能和技术。通过这个存储库,用户可以了解如何有效地集成和操作数据表,提升Shiny应用的交互性和用户体验。 **描述解析:** 该描述明确了...
微信小程序支持响应式布局,开发者可以利用wxss的flex布局或者媒体查询(media query)来确保房贷计算器在不同尺寸的设备上都有良好的显示效果。 8. 测试与发布: 开发完成后,使用微信开发者工具进行真机预览、...
LR9.0,全称LoadRunner 9.0,是一款由HP公司(现已被Micro Focus收购)开发的负载和性能测试工具,广泛应用于企业级应用系统性能验证。它能够模拟成千上万的虚拟用户来对系统进行压力测试,以评估系统在高负载下的...
- **开发流程**:描述了一个完整的 TWaver Web 应用程序从设计到部署的整个过程,包括需求分析、架构设计、编码实现、测试验证等多个阶段。 #### 三、视图数据管理 - **视图数据输出**:探讨了后台组件如何生成...
它通过集成Flex、Flash以及AIR应用,为开发者提供了强大的数据管理和实时通信能力。 #### 二、主要功能特性 1. **实时通信**:支持AMF (Action Message Format)协议,使得服务器与客户端之间的通信更为高效。 2. **...