有机肥
绿色
flex event(zhuan)
package com.montage.vo
{
public class User
{
public function User()
{}
public var name:String;
public var country:String;
}
}
package com.montage.events
{
import com.montage.vo.User;
import flash.events.Event;
public class UserEvent extends Event
{
public static var SELECTED_USER:String = "selectedUser";
public var user:User;
public function UserEvent(type:String,
bubbles:Boolean=
false,
cancelable:Boolean=
false)
{
super(type, bubbles, cancelable);
}
}
}
package com.montage.model
{
import flash.events.Event;
import flash.events.EventDispatcher;
[Event(name=
"selectedUser", type="com.montage.events.UserEvent")]
public class EventMessage extends EventDispatcher
{
private static var instance:EventMessage = null;
public function EventMessage()
{
if( instance != null )
{
throw new Error("EventMessage是一个单件类,只能被实例化一次!");
}
}
public static function getInstance():EventMessage
{
if( instance == null )
{
instance =
new EventMessage();
}
return instance;
}
public function send( event:Event ):void
{
dispatchEvent( event );
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300" title="选择用户">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import com.montage.events.UserEvent;
import com.montage.vo.User;
import com.montage.model.EventMessage;
import mx.managers.PopUpManager;
private var eMessage:EventMessage = EventMessage.getInstance();
private function submitHandler():void
{
if( grid.selectedIndex > -1 )
{
var item:XML = XML( grid.selectedItem );
var user:User = new User();
user.name = item.@name;
user.country = item.@country;
var event:UserEvent = new UserEvent( UserEvent.SELECTED_USER );
event.user = user;
eMessage.send( event );
cancelHandler();
}
else {
Alert.show("请选择一个用户!");
}
}
private function cancelHandler():void
{
PopUpManager.removePopUp( this );
}
]]>
</mx:Script>
<mx:XML id="users" source="user.xml"/>
<mx:DataGrid id="grid" width="100%" height="100%" dataProvider="{users.User}">
<mx:columns>
<mx:DataGridColumn headerText="姓名" dataField="@name"/>
<mx:DataGridColumn headerText="国家" dataField="@country"/>
</mx:columns>
</mx:DataGrid>
<mx:ControlBar width="100%">
<mx:Spacer width="100%"/>
<mx:Button label="确定" click="submitHandler()"/>
<mx:Button label="取消" click="cancelHandler()"/>
</mx:ControlBar>
</mx:TitleWindow>
<root>
<User name="David" country="America"/>
<User name="Tome" country="Canada"/>
<User name="Montage" country="China"/>
</root>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()" fontSize="12">
<mx:Script>
<![CDATA[
import com.montage.events.UserEvent;
import com.montage.model.EventMessage;
import mx.managers.PopUpManager;
import com.montage.view.user.UserList;
private var eMessage:EventMessage = EventMessage.getInstance();
private function init():void
{
eMessage.addEventListener(UserEvent.SELECTED_USER, selectedUserHandler);
}
private function selectedUserHandler( event:UserEvent ):void
{
textArea.htmlText = "你选择了:<b>" + event.user.name + "</b>("+ event.user.country +")";
}
private function clickHandler():void
{
var userList:UserList = UserList( PopUpManager.createPopUp(this, UserList, true) );
userList.x = ( width - userList.width ) / 2;
userList.y = ( height - userList.height ) / 2;
}
]]>
</mx:Script>
<mx:Panel width="400" height="300" layout="vertical" paddingLeft="5" paddingRight="5" paddingTop="5">
<mx:TextArea id="textArea" width="100%"/>
<mx:Button label="选择用户" click="clickHandler()"/>
</mx:Panel>
</mx:Application>
posted on 2012-03-20 11:17
有机肥
阅读(249)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
<
2012年3月
>
日
一
二
三
四
五
六
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
导航
BlogJava
首页
新随笔
联系
聚合
管理
统计
随笔 - 37
文章 - 0
评论 - 0
引用 - 0
常用链接
我的随笔
我的评论
我的参与
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
2018年7月 (2)
2018年6月 (2)
2017年10月 (4)
2017年9月 (3)
2017年8月 (2)
2017年7月 (3)
2017年3月 (1)
2016年12月 (1)
2016年9月 (5)
2013年9月 (1)
2012年3月 (4)
搜索
最新评论
阅读排行榜
1. CloseableHttpResponse的使用(2070)
2. flex必须使用命名空间限定css选择器(854)
3. 在Freemarker中,如果要判断序列中是否包含某个指定的元素(518)
4. mysql 查看表的创建时间的语句(289)
5. flex event(zhuan)(249)
评论排行榜
1. mysql 查看表的创建时间的语句(0)
2. 进程(0)
3. database-mysql(0)
4. mysql 存储过程(0)
5. 采摘2(0)
Powered by:
BlogJava
Copyright © 有机肥