制作登录框界面

环境搭建:MyEclipse 6.5+Flex Builder 3 Plug-in

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
	<mx:states>
		<mx:State name="index"><!--登录成功后跳转状态-->
			<mx:RemoveChild target="{panel1}"/>
			<mx:AddChild position="lastChild">
				<mx:Label x="231" y="174" text="欢迎来到主页!" fontSize="15" color="#EAC248"/>
			</mx:AddChild>
		</mx:State>
	</mx:states>
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;//引用Arelt类
			private function loginHandle():void{
				if(txtUsername.text==""||txtPassword.text==""){//输入用户名和密码为空
					Alert.show("请输入完整数据!")
				}else{
					if(txtUsername.text=="admin"&&txtPassword.text=="123456"
					&&txtCheckCode.text.toLowerCase()==lblCheckCode.label.toLowerCase()){
						//Alert.show("登录成功!");
						currentState="index";//跳转到index状态
					}else{
						if(txtCheckCode.text.toLowerCase()!= lblCheckCode.label.toLocaleLowerCase()){
							Alert.show("校验码错误!");
							//重新生成校验码
							initApp();
						}else
						Alert.show("用户名或密码错误!");
					}
				}
			}
			private function resetHandle():void{//重置
				txtUsername.text="";
				txtPassword.text="";
				txtCheckCode.text="";
				initApp();
			}
			private function initApp():void{//显示校验码
				lblCheckCode.label=GenerateCheckCode();
			}
			private function GenerateCheckCode():String{//制作四位的校验码
				//初始化
				var ran:Number;
				var number:Number;
				var code:String;
				var checkCode:String='';
				//生成四位随机数
				for(var i:int=0; i<4; i++)
				{
					ran=Math.random();
					number =  Math.round(ran*1000);
					if(number % 2 == 0){
					//“0”的ASCII码是48
					code = String.fromCharCode(48+(number % 10));
					//Alert.show(code);
					}else
					//"A"的ASCII码是65
					code = String.fromCharCode(65+(number % 26));
					checkCode +=code;
				}
					return checkCode;
			}
		]]>
	</mx:Script>
	<mx:Panel layout="absolute" id="panel1" title="用户登录" fontFamily="Georgia" fontSize="12" height="247" width="326" verticalCenter="-39" horizontalCenter="-150">
		<mx:Label x="41.5" y="33" text="用户名" id="label1"/>
		<mx:Label x="42.5" y="71" text="密码" id="label2"/>
		<mx:TextInput x="94.5" y="33" id="txtUsername"/>
		<mx:TextInput x="94.5" y="71" id="txtPassword" displayAsPassword="true"/>
		<mx:Button x="94.5" y="136" label="登录" id="btnLogin" click="loginHandle()"/>
		<mx:Button x="200.5" y="136" label="重置" id="btnReset" click="resetHandle()"/>
		<mx:Label x="42.5" y="109" text="校验码" id="label3"/>
		<mx:TextInput x="94.5" y="109" width="60" height="23" id="txtCheckCode"/>
		<mx:LinkButton x="162.5" y="109" id="lblCheckCode" width="60" height="23" click="initApp()" color="#FA1807"/>
	</mx:Panel>
</mx:Application>

Flex之登录界面的更多相关文章

  1. ReactNative——UI1.登录界面样式设置

    使用React 基本组件结合flex 属性,实现简单登录布局UI 效果 效果预览:

  2. AJAX实现登录界面

    使用php跳转界面和AJAX都可实现登录界面的跳转的登录失败对的提醒.但是,php跳转的方式 需要额外加载其他界面,用户体验差.AJAX可实现当前页面只刷新需要的数据,不对当前网页进行 重新加载或者是 ...

  3. android内部培训视频_第五节(1)_OA实战之登录界面

    第五节(1):OA实战之登录界面  一.登录界面布局 1.背景图片 2.文本框 3.checkbox 4.按钮 暂未实现点击切换图片效果 <RelativeLayout xmlns:androi ...

  4. C#-WebForm-Session、Cookie-登录验证(未登录跳至登录界面)、隐藏地址栏传值

    Post 传值(看不见的传值) Get 传值(看得见的传值) Session - 全局变量组 存放位置:服务端 作用:只要里面有内容,那么这个网站中所有的C#端都能访问到这个变量 -- object类 ...

  5. 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面

    1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...

  6. 很漂亮的用户登录界面HTML模板

    效果预览:http://keleyi.com/keleyi/phtml/divcss/21.htm HoverTree开源项目实现了分层后,准备实现管理员后台登录,这里先把登录界面的HTML模板整理好 ...

  7. Cookie案例:简单登录界面中的应用

    ServletDemo1.java package ztq.servlet.study; import java.io.IOException; import java.io.PrintWriter; ...

  8. android 案例二 登录界面

    效果图: 运行图:   总结: 编写这个简单的用户登录界面,主要用到了以下的知识:   java基础中的IO流的操作 用以读取.显示用户的信息 Android布局 线性布局和相对布局 数据的存储选在包 ...

  9. Android之QQ登录界面

    首先过程中碰到的几个问题: 1.对 EditText 进行自定义背景 2.运行时自动 EditText 自动获得焦点 3.在获得焦点时即清空 hint ,而不是输入后清空 4.清空按钮的出现时机(在得 ...

随机推荐

  1. dos2unix和unix2dos命令使用【转】

    dos2unix, unix2dos 用来实现 DOS <=> UNIX text file 转换 aptitude install sysutils 行末: DOS 格式 0d 0a U ...

  2. 推断扫描后的内容是否是URL

    扫描的明明是Url.竟然当文本给处理了,看来正则没有通过. 扫描二维码后,我參考了QQ的效果.分了三种:网页地址.文件下载地址,文本信息:为了实现这样的效果.我 发现有非常多url非常奇葩.所以就想找 ...

  3. 最多包含2/k个不同字符的最长串

    看这里的解答: http://www.cnblogs.com/grandyang/p/5351347.html 通用解决了2和k的问题.

  4. 基于Masonry自己主动计算cell的高度

    /** * This is a very very helpful category for NSTimer. * * @author huangyibiao * @email huangyibiao ...

  5. Cannot set web app root system property when WAR file is not expanded

    Cannot set web app root system property when WAR file is not expanded 在tomcat下面可以,在weblogic下面不行的处理方法 ...

  6. linux线程间同步(1)读写锁

    读写锁比mutex有更高的适用性,能够多个线程同一时候占用读模式的读写锁.可是仅仅能一个线程占用写模式的读写锁. 1. 当读写锁是写加锁状态时,在这个锁被解锁之前,全部试图对这个锁加锁的线程都会被堵塞 ...

  7. IP address could not be resolved: Temporary failure in name resolution

    今早发现mysql日志中有非常多例如以下的警告: 140724 18:41:25 [Warning] IP address '172.16.18.217' could not be resolved: ...

  8. Vue源代码笔记(一)数据绑定

    VUE数据绑定介绍 数据绑定是vue的基础核心之一,本文以Vue对象(当然也包含VueComponent)里的data数据绑定为例,阐述整个绑定的过程. Vue的数据绑定由三部分组成, Observe ...

  9. rest_framework-认证-总结完结篇

    执行过程 APIView() Ruquest() Authentication() OrderView()APIView() def duspatch: self.initial(request) d ...

  10. 解决Linux下yum安装无法解析URL的问题

    问题: [root@yaya ~]# yum -y install gcc-* Loaded plugins: fastestmirror, presto Could not retrieve mir ...