`
hacker47
  • 浏览: 340592 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

FLEX技巧篇---------事件的流转控制

阅读更多

FLEX是基于事件驱动的,在一个复杂的模型中事件的流转也会经常给人以困扰.这里用一个简单的小例子,说明一下,阻塞事件,以及跨越事件广播的两个小方法.

 

这个小例子中,是一个panel里放了一个button,panel和button都有对应的click事件,默认情况下,是点击Button时,button和Panel的事件都会同时响应的.但现在我们有这样两种需求:

 

1:点击Button时,要求响应Panel的事件,Button的事件不响应;
2:点击Button时,要求响应Button的事件,Panel的事件不响应;

 

 

 

代码这段代码是入门级的,就不多做讲解了:

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
	layout="vertical" creationComplete="initApp();" backgroundColor="black">
	<mx:Style source="event.css"/>
<mx:Script>
	<![CDATA[
		
		private function initApp():void{
			button.addEventListener(MouseEvent.CLICK,buttonClickHandler,true);
			mypanel.addEventListener(MouseEvent.CLICK,panelClickHandler);
			
			mypanel1.addEventListener(MouseEvent.CLICK,panel1ClickHandler);
			button1.addEventListener(MouseEvent.CLICK,button1ClickHandler);
		}
		
		private function panelClickHandler(event:MouseEvent):void{
			msg1.text="panel click!";
		}
		
		private function buttonClickHandler(event:MouseEvent):void{
			msg2.text="button click!";
		}
		
		private function panel1ClickHandler(event:MouseEvent):void{
			msg3.text="panel click!";
			msg4.text="";
		}
		
		private function button1ClickHandler(event:MouseEvent):void{
			msg3.text="";
			msg4.text="button click!";
			event.stopPropagation();
		}
		
		private function doubleClickHanlder(event:MouseEvent):void{
			msg1.text="";
			msg2.text="";
			msg3.text="";
			msg4.text="";
		}
		
		[Bindable]
		[Embed(source="thumb.jpg")]
		private var butIcon:Class;
		
	]]>
</mx:Script>
<mx:Label text="任意处双击,清除响应结果...." color="white" />
<mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle" doubleClickEnabled="true" doubleClick="doubleClickHanlder(event);">
	<mx:Panel width="300" height="300" id="mypanel"  horizontalAlign="center" verticalAlign="middle" title="只响应Panel事件:">
		<mx:Button id="button" icon="{butIcon}" labelPlacement="bottom" label="click me" />
		<mx:ControlBar>
			<mx:HBox>
				<mx:TextInput id="msg1" width="130"/>
				<mx:TextInput id="msg2" width="130"/>
			</mx:HBox>
		</mx:ControlBar>
	</mx:Panel>
	
		<mx:VRule height="100%"/>
	<mx:Panel width="300" height="300" id="mypanel1"  horizontalAlign="center" verticalAlign="middle" title="只响应Button事件:">
		<mx:Button id="button1" icon="{butIcon}" labelPlacement="bottom" label="click me" />
		<mx:ControlBar>
			<mx:TextInput id="msg3" width="130"/>
			<mx:TextInput id="msg4" width="130"/>
		</mx:ControlBar>
	</mx:Panel>
	</mx:HBox>
</mx:Application>

 

4
3
分享到:
评论
1 楼 zhengshina5 2008-09-08  
对嘛写的?

相关推荐

    flex-messaging-core-4.7.3.jar

    flex-messaging-core-4.7.3.jar 最新版,下载了好长时间才下载下来,亲测可用!

    flex-messaging-core.jar

    在flex-messaging-core.jar中,包含了一些关键组件和接口,例如: 1. **MessageBroker**: 这是Flex消息传递系统的中心,它管理消息的路由,调度和处理。MessageBroker实例化并配置了各种服务,如HTTP、HTTPS、RTMP...

    flex-iframe-1.4.6

    尽管Google Code已不再接受新的项目,但许多有价值的项目,如flex-iframe-1.4.6,仍然可以在其存档中找到。 在Flex框架中,开发者通常使用ActionScript来创建富互联网应用程序(RIA)。然而,有时需要在Flex应用...

    Forex-Flex-EA-V4.91_flexEA_海龟MT4_ea_mt4_ea源码_

    在Forex-Flex-EA-V4.91中,开发者可能融合了海龟策略的一些关键要素,如利用移动平均线判断趋势,设置相应的入场和出场条件,以及运用风险管理策略来控制潜在损失。此外,EA可能还引入了其他技术分析工具和自适应...

    flex-messaging-core

    flex-messaging-core jar包

    flex-messaging-proxy.jar

    flex-messaging-proxy.jarflex-messaging-proxy.jarflex-messaging-proxy.jarflex-messaging-proxy.jar

    flex-messaging-common

    flex-messaging-common

    flex-messaging-common.jar

    flex-messaging-common.jar

    flex-messaging-remoting.jar

    flex-messaging-remoting.jarflex-messaging-remoting.jarflex-messaging-remoting.jarflex-messaging-remoting.jar

    flex-messaging-core-amf1.7

    flex-messaging-core-amf1.7

    flex-messaging-opt.jar

    flex-messaging-opt.jarflex-messaging-opt.jarflex-messaging-opt.jarflex-messaging-opt.jar

    flex-messaging系列jar包

    1. **flex-messaging-core.jar**:这是Flex Messaging框架的基础库,提供了核心的基础设施和服务。它包含AMF(Action Message Format)编解码器,用于高效地序列化和反序列化数据,以及基本的消息传递机制。AMF是一...

    Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar

    Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar...

    flex-messaging-common-1.0.jar

    flex-messaging-common-1.0.jar 资源共享,有需要其他jar包的可以在评论留言,看到后我会陆续上传。

    flex-messaging-opt-1.0.jar

    flex-messaging-opt-1.0.jar 资源共享,有需要其他jar包的可以在评论留言,看到后我会陆续上传。

    FLEX提高篇--------AIR应用程序的托盘及托盘菜单的制作

    标题 "FLEX提高篇--------AIR应用程序的托盘及托盘菜单的制作" 指向的是一个关于Adobe Integrated Runtime (AIR)的高级教程,重点是如何在Flex应用中创建和使用系统托盘图标以及与之相关的托盘菜单。Flex是基于...

Global site tag (gtag.js) - Google Analytics