- 浏览: 42883 次
- 性别:
- 来自: 广州
最新评论
-
hzs275481430:
就是讲拓扑图的太少了!
Flex值得一看参考资源 -
igogo007:
无外乎一下几点:
1.包少了
2.包多了
3.包重复了
4. ...
框架整合错误解决方法 -
zolyton:
creationComplete="Init()&q ...
Flex 弹出窗口的例子 -
yexin218:
有点复杂哦
一个Flex做的登陆控件 -
bobkingdom:
精!惊!这么好的贴子居然无人顶,寻寻觅觅好久了,FLEX加载 ...
Flex加载swf的几个要点
最近在学习Flex,之前一直在忙,没空整理一下,现在有空整理整理一下,之前用Flex做了个简单的登陆控件。希望大家多点给点意见:
frmLogin.mxml
代码:
1<?xml version="1.0" encoding="utf-8"?> 2<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="250" height="170"> 3 <mx:Panel x="0" y="0" width="250" height="170" layout="absolute" title="登陆" fontSize="15" id="panel1" visible="true"> 4 <mx:Label x="10" y="14" text="用户名" fontWeight="bold"/> 5 <mx:Label x="10" y="42" text="密码" fontWeight="bold"/> 6 <mx:TextInput x="71" y="12" width="149" height="21" fontSize="10" id="username"/> 7 <mx:TextInput x="71" y="40" width="149" height="21" displayAsPassword="true" fontSize="10" id="userpass"/> 8 <mx:ControlBar height="50" y="74" width="230" horizontalAlign="center" verticalAlign="top"> 9 <mx:Button label="登陆" fontSize="12" id="button_login" click="button_login_click()"/> 10 <mx:Button label="注册" fontSize="12" id="button_reg" click="button_reg_click()"/> 11 </mx:ControlBar> 12 </mx:Panel> 13 <mx:Panel x="0" y="0" width="250" height="170" layout="absolute" title="已登陆" fontSize="15" id="panel2" visible="false"> 14 <mx:Label x="11" y="25" text="欢迎你" fontSize="22" fontWeight="bold"/> 15 <mx:Label x="92" y="25" fontSize="22" fontWeight="bold" width="128" id="label_username" color="#F64617" text="Vincent"/> 16 <mx:ControlBar height="45" y="89" horizontalAlign="center" verticalAlign="top"> 17 <mx:Button label="个人信息" fontSize="12" id="button_detail" click="button_detail_click()"/> 18 <mx:Button label="退出登陆" fontSize="12" fontWeight="bold" id="button_logout" click="button_logout_click()"/> 19 </mx:ControlBar> 20 </mx:Panel> 21 <mx:Metadata> 22 [Event(name="loginSucceed",type="vincent.flex.controls.login.events.LoginSucceedEvent")] 23 [Event(name="loginFail",type="flash.events.Event")] 24 [Event(name="logout",type="flash.events.Event")] 25 [Event(name="showUserDetail",type="flash.events.Event")] 26 [Event(name="doRegister",type="flash.events.Event")] 27 </mx:Metadata> 28 <mx:Script> 29 <![CDATA[ 30 import vincent.flex.controls.login.events.LoginSucceedEvent; 31 import vincent.flex.controls.login.User; 32 import mx.controls.Text; 33 import mx.controls.Alert; 34 import com.adobe.serialization.json.JSON; 35 36 private const ACTION_LOGIN:String = "login"; 37 private const ACTION_LOGOUT:String = "logout" 38 39 private var action:String; 40 public var currentUser:User; 41 42 private function button_reg_click():void 43 { 44 this.dispatchEvent(new Event("doRegister")); 45 } 46 47 private function button_login_click():void 48 { 49 if(username.text==""||userpass.text=="") 50 { 51 Alert.show("请填写用户名和密码!","登陆"); 52 return; 53 } 54 action = this.ACTION_LOGIN; 55 var data:String = "un="+encodeURI(username.text)+"&up="+encodeURI(userpass.text); 56 userpass.text = ""; 57 doRequest("Authorization","UserLogin",data); 58 } 59 60 private function button_logout_click():void 61 { 62 action = this.ACTION_LOGOUT; 63 var data:String = ""; 64 doRequest("Authorization","UserLogout",data); 65 } 66 67 private function button_detail_click():void 68 { 69 this.dispatchEvent(new Event("showUserDetail")); 70 } 71 72 private function doRequest(am:String,at:String,data:String):void 73 { 74 var request:URLRequest = new URLRequest("/index.php?am="+am+"&at="+at+"&dm=2&IsPosted=1"); 75 var uLoader:URLLoader = new URLLoader(); 76 request.method = URLRequestMethod.POST; 77 request.data = data; 78 79 uLoader.addEventListener(Event.COMPLETE,doEvent); 80 uLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS,doEvent); 81 uLoader.addEventListener(Event.OPEN,doEvent); 82 uLoader.addEventListener(ProgressEvent.PROGRESS,doEvent); 83 uLoader.addEventListener(IOErrorEvent.IO_ERROR,doEvent); 84 uLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,doEvent); 85 86 uLoader.load(request); 87 } 88 89 private function doEvent(e:Event):void 90 { 91 switch(e.type) 92 { 93 case Event.COMPLETE: 94 { 95 var uLoader:URLLoader = e.currentTarget as URLLoader; 96 var result:Object = (JSON.decode(uLoader.data)); 97 doResult(result); 98 } 99 default: 100 { 101 102 } 103 } 104 } 105 106 private function doResult(result:Object):void 107 { 108 var state:Object = result.state; 109 var data:Object = result.data; 110 var am:String = result.state.moduleName; 111 var event:Event; 112 if(am=="AuthorizationAction_UserLogin") 113 { 114 event = new Event("loginFail"); 115 this.dispatchEvent(event); 116 } 117 else if(am=="ActionResult") 118 { 119 if(this.action==this.ACTION_LOGIN) 120 { 121 var user:User = new User; 122 user.userId = result.current_user.user_id; 123 user.userName = result.current_user.user_name; 124 user.userLevel = result.current_user.user_level; 125 this.currentUser = user; 126 event = new LoginSucceedEvent("loginSucceed"); 127 (LoginSucceedEvent(event)).user = user; 128 panel1.visible = false; 129 panel2.visible = true; 130 this.label_username.text = user.userName; 131 this.dispatchEvent(event); 132 } 133 else if(this.action==this.ACTION_LOGOUT) 134 { 135 panel1.visible = true; 136 panel2.visible = false; 137 this.currentUser = null; 138 event = new Event("logout"); 139 this.dispatchEvent(event); 140 } 141 } 142 } 143 144 ]]> 145 </mx:Script> 146</mx:Canvas> 147
登陆成功事件 LoginSucceedEvent.as
package vincent.flex.controls.login.events 2{ 3 import flash.events.Event; 4 5 import vincent.flex.controls.login.User; 6 7 public class LoginSucceedEvent extends flash.events.Event 8 { 9 public function LoginSucceedEvent(type:String, 10 bubbles:Boolean = false, 11 cancelable:Boolean = false, 12 oldX:Number = NaN, oldY:Number = NaN) 13 { 14 super(type, bubbles, cancelable); 15 } 16 public var user:User; 17 } 18}
User.as:
package vincent.flex.controls.login 2{ 3 public class User 4 { 5 public function User() 6 { 7 } 8 public var userId:int; 9 public var userName:String; 10 public var userLevel:String; 11 12 } 13}
FlexTest01.mxml:
<?xml version="1.0" encoding="utf-8"?> 2<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" height="488" width="746" xmlns:ns1="*"> 3 <mx:Script> 4 <![CDATA[ 5 import mx.controls.Alert; 6 7 import vincent.flex.controls.login.events.*; 8 9 public function doLoginSucceed(e:LoginSucceedEvent):void 10 { 11 Alert.show("Welcome!"); 12 } 13 14 ]]> 15 </mx:Script> 16 <ns1:frmLogin x="248" y="100" id="winlogin" loginSucceed="doLoginSucceed(event)"> 17 </ns1:frmLogin> 18</mx:Application>
发表评论
-
一些Flex开源项目的整理
2008-11-29 13:01 1009Adobe APIs 主要包含corelib, mappr, ... -
Flex 弹出窗口的例子
2008-11-19 20:11 2610<?xml version="1.0" ... -
flex3的全屏
2008-11-19 19:26 1747关键字: FullScreen 在浏览器中或独立的播放器中使 ... -
初学Flex的一点小小经验
2008-11-17 18:40 15271. Flex结合tomcat Flex只是个运行库或者说 ... -
flex 3 学习小结(状态效果篇)
2008-11-17 13:23 34231 登陆+验证码 <?xml version=&q ... -
Flex学习笔记——关于Flex里的事件
2008-11-17 13:16 3210事件是Flex重要的部分, ... -
Flex值得一看参考资源
2008-11-17 12:53 30161. Flexboxhttp://flexbox.mrinal ... -
Flex中给按钮设置icon图标的例子
2008-11-17 12:47 6224在按钮中嵌入icon图标有两种方法。第一种是在Flex应用中创 ... -
Flex上传文件功能
2008-11-17 12:39 1651upload.mxml <?xml version= ... -
Flex实现QQ网页提取天气信息
2008-11-17 12:26 12161、预备知识 Flex是Adobe提供的基于Flash环境的R ... -
Flex加载swf的几个要点
2008-11-17 10:41 2718今天折腾了大半天Flash与Flex3的配合,特总结一下心得体 ... -
关于Flex中自定义事件
2008-11-17 10:30 1555事件是一个非常有用的功能,通常用于信息传递交互大大提高程序编 ... -
我的flex第一步
2008-11-07 16:19 3814FLex 的 Remote Object 之我的实践 (详细教 ...
相关推荐
"Flex控件折叠效果"是一个常见的需求,它涉及到用户界面(UI)的动态性与可扩展性,使得用户能更有效地管理和浏览信息。本文将深入探讨Flex控件折叠效果的相关知识点,包括其工作原理、实现方式以及实际应用。 Flex...
FLEX控件
在本文中,我们将深入探讨如何在Flex环境中创建一个图片展示控件,该控件具有放大镜效果。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。通过使用Flex,我们可以轻松地创建交互式、...
flex8表格控件,可以方便的实现表格的数据处理,并且里面附带了全面的例子,解决很多程序员的表格问题
在Flex时间控件中,用户可以方便地选择年、月、日以及小时、分钟和秒,以精确设定一个日期和时间值。这样的控件在许多应用场景中非常有用,比如在线预订系统、时间安排工具或者日历应用等。 要使用Flex时间控件,...
总结起来,`flex3.5时间控件(含时分秒)`的实现涉及到创建一个自定义组件`TimeChooser`,它包含了小时、分钟和秒的选择功能,并在`Test`测试应用程序中进行展示和验证。通过这样的控件,开发者可以方便地在Flex 3.5...
Flex是一个开源的开发框架,基于ActionScript和MXML,用于构建富互联网应用程序(RIAs)。MXML是Flex的主要标记语言,用于描述用户界面的布局和组件。在提供的文件`TimeChooser.mxml`中,我们可以预期它定义了一个...
开发者可以下载这个项目,研究其源码,了解如何实现一个通用的Flex分页控件,或者直接将其集成到自己的项目中使用。 总结起来,Flex通用分页控件是Flex应用中必不可少的一部分,它提供了高效的数据浏览方式,同时...
本文将详细介绍如何在Flex中创建自定义控件,并通过一个具体的登录组件示例来展示其具体实现过程。 #### 二、Flex自定义控件概述 在Flex中,自定义控件是指根据特定需求构建的新控件,这些控件可以基于现有的Flex...
Flex8网格控件是Adobe Flex框架中的一个关键组件,它在构建富互联网应用程序(RIA)时扮演着重要的角色。Flex是一种基于ActionScript和MXML的开放源代码开发平台,主要用于创建交互式、高性能的Web应用。Vb6,即...
该控件是通过Adobe Flash Builder 4进行开发的,Flash Builder是一个集成开发环境(IDE),专为使用Flex和ActionScript进行开发而设计。它提供了代码编辑、调试和部署功能,让开发者能够更高效地创建Flex应用。 在...
综上所述,创建一个自定义的Flex分页控件涉及到组件设计、事件处理、数据绑定、皮肤化等多个方面。通过深入理解和实践这些知识点,开发者可以构建出功能强大、易于使用的分页工具,提升应用的用户体验。提供的文件...
这个主题聚焦于“flex自定义控件与事件”,这是一个关键的开发概念,特别是对于那些希望深入理解Flex架构和提升应用用户体验的开发者来说。 自定义控件在Flex开发中扮演着重要角色,它们允许开发者根据项目需求创建...
flex视频播放控件
本篇将详细讲解如何在Flex中创建一个支持多选功能的Combox控件,并基于提供的文件名“HgCheckBox.as”和“MultiSelectComboBox.mxml”进行分析。 首先,我们要理解Flex中的Combox基本结构。通常,Combox由两部分...
在Flex开发中,分页控件是用于展示大量数据时必不可少的一个组件,它允许用户以较小的数据块(每页)浏览整个数据集,从而提高用户体验并减轻服务器负载。本篇文章将详细讲解如何在Flex中创建和使用分页控件。 首先...
Flex是一个基于ActionScript和MXML的开源框架,主要用于构建富互联网应用程序(RIA)。DataGrid是Flex提供的一个强大的组件,它可以用来展示动态数据集,包括文本、数字,以及在本例中的图片。 在Flex中显示图片...
- **基于`Canvas`的自定义控件**:此类控件通常作为一个空白画布,允许开发者自由地放置各种UI元素。例如,可以在其中添加按钮、文本框等组件。 - **基于`ComboBox`的自定义控件**:此类控件以下拉框的形式呈现,...
在"Flex-Java-Demo.rar_flex_flex 控件"这个压缩包中,我们很显然会发现一个关于Flex与Java互操作性的演示项目。下面将详细探讨相关的知识点。 1. **Flex**:Flex是由Adobe公司开发的一种开源框架,用于构建基于...
下面我们将深入探讨如何在Flex中创建一个自定义的拖拽控件。 首先,我们需要创建一个可拖动的组件。这通常是一个MX或Spark组件,如Canvas或Button。在组件上添加监听器,捕获鼠标按下(mousedown)事件,这是拖动...