flex基础学习
Flex是Adobe开发的一种RIA,富互联网应用,用Flex开发的东西都可以使用Flash做出来,但是Flex主要是面向的程序开发人员,前台使用ActionScript和MXML。
上面介绍了flex是什么,下面针对flex项目自己写一下自己的认识。ActionScript类似于web开发的javascript,不过他的语法有强类型int,string等,mxml他类似于web中的html中的标签。两者结合可以很好的将代码分离开来。
对于mxml来说<mx:Application 中Application相当于舞台的更节点就像html中的html为根节点一样。其他向<mx:TitleWindow等容器都是在Application的节点上建立的,否则界面是无法展现的这个我是深有体会。
对于ActionScript.as文件可以认为他里面主要就是对命名空间的导入和一些定义函数,类在里面。
flex开发个人理解也是基于事件驱动来渲染界面的。
flex加载模块的组件可以用ModuleLoader来加载,此类继承自vbox。vbox是垂直布局,hbox为水平布局。
对于flex远程交互,项目中主要用到的是RemoteObject此对象来进行交互的,不过对于返回的结果接受要用两个函数来接受, addEventListener(ResultEvent.RESULT,pOnOk);addEventListener(FaultEvent.FAULT,pOnEr);一个是用来监听成功,一个是用来监听失败。这一点与ajax调用很相似。
flex的开发给我的个人感觉有点像Extjs,很多地方都需要注册事件,然后将方法注册进去。
下面给贴出一段代码登录界面与整体界面布局的
登录界面代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
horizontalScrollPolicy="auto" verticalScrollPolicy="auto" title="登录" height="200" width="400"
showCloseButton="false" creationComplete="init()" >
<mx:Script source="Login_As.as" />
<mx:Label x="47" y="37" text="登录名称" />
<mx:Label x="47" y="70" text="登录密码"/>
<mx:TextInput x="107" y="35" width="218" id="tbox_userName" text="" maxChars="10" enter="Logins()"
restrict="a-zA-Z0-9"/>
<mx:TextInput x="107" y="69" width="218" id="tbox_password" text="" displayAsPassword="true" maxChars="25"
enter="Logins()"/>
<mx:Button id="btnLogin" x="271" y="104" label="登 录"/>
</mx:TitleWindow>
整体模板布局如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
horizontalScrollPolicy="off" verticalScrollPolicy="off"
paddingTop="0" paddingLeft="0" paddingRight="0" paddingBottom="0"
layout="absolute" creationComplete="init()" themeColor="#ffffff" backgroundColor="#ffffff">
<mx:Script source="Index_As.as" />
<mx:Style source="style.css"/>
<mx:VBox id="controls" width="100%" height="100%" horizontalGap="0" verticalGap="0" backgroundColor="#ffffff">
<mx:HBox styleName="TitleBar" id="idTitleBar" width="100%" height="32" paddingTop="2" backgroundColor="#eaeaea">
<mx:Label id="idTitle" fontSize="18" text="XXXX业务管理系统"/>
<mx:Label id="idAreaName" verticalCenter="0" fontSize="18" text=""/>
</mx:HBox>
<mx:Canvas id="idOperBar" width="100%" height="24" x="2" y="-5">
<mx:Label id="lbAgentInfo" left="10" verticalCenter="0" text="" />
</mx:Canvas>
<mx:VBox id="vbox_middle" width="100%" height="100%">
<mx:HDividedBox id="HDBox" width="100%" height="100%" paddingLeft="5" paddingBottom="5" paddingRight="5">
<mx:VBox id="vbox_menu" width="200" height="100%" borderColor="#aaaaaa" borderStyle="solid">
<mx:Tree id="tree_menu" width="100%" height="100%" verticalScrollPolicy="auto"
horizontalScrollPolicy="auto" borderStyle="none" openItems="true" scroll="true"/>
</mx:VBox>
<mx:VBox id="vbox_content" width="100%" height="100%" borderColor="#aaaaaa" borderStyle="solid">
<mx:ApplicationControlBar id="idModuleNameBar" width="100%">
<mx:Label id="idModuleName" text="" fontWeight="bold"/>
</mx:ApplicationControlBar>
<mx:ModuleLoader id="MLoader" url="desktop.swf" width="100%" height="100%" verticalScrollPolicy="off" horizontalScrollPolicy="off"/>
</mx:VBox>
</mx:HDividedBox>
</mx:VBox> </mx:VBox>
</mx:Application>
具体flex里面某个组件干什么用的,这里就不详细写了。
flex基础学习的更多相关文章
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
- 如何从零基础学习VR
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...
- IOS基础学习-2: UIButton
IOS基础学习-2: UIButton UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...
- HTML5零基础学习Web前端需要知道哪些?
HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...
- python入门到精通[三]:基础学习(2)
摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...
- python入门到精通[二]:基础学习(1)
摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分 ...
- CSS零基础学习笔记.
酸菜记 之 CSS的零基础. 这篇是我自己从零基础学习CSS的笔记加理解总结归纳的,如有不对的地方,请留言指教, 学前了解: CSS中字母是不分大小写的; CSS文件可以使用在各种程序文件中(如:PH ...
- Yaf零基础学习总结5-Yaf类的自动加载
Yaf零基础学习总结5-Yaf类的自动加载 框架的一个重要功能就是类的自动加载了,在第一个demo的时候我们就约定自己的项目的目录结构,框架就基于这个目录结构来自动加载需要的类文件. Yaf在自启动的 ...
- Yaf零基础学习总结4-Yaf的配置文件
在上一节的hello yaf当中我们已经接触过了yaf的配置文件了, Yaf和用户共用一个配置空间, 也就是在Yaf_Application初始化时刻给出的配置文件中的配置. 作为区别, Yaf的配置 ...
随机推荐
- SquashFs工具制作
下面是SquashFs.tar.gz的下载地址,解压后,直接执行其中的Makefile即可. SquashFs.tar.gz 说明: 制作squashfs格式的压缩镜像: ./mksquashfs . ...
- Excel处理数据用到的一些公式和VBA脚本
最近工作中用到EXCEL统计处理一些数据,正好之前有自学了一段时间的EXCEL,这次正好用上.为了加深印象,以后方便翻阅,就记录下来.这篇会不断补充. IF 多条件判断返回值 IF(logical_t ...
- MySQL无视密码进入Server
在[mysqld]的段中加上一句:skip-grant-tables 如下 [mysqld] skip-grant-tables 即可不输入密码就可以进入mysql server,然后就可以随便修改数 ...
- C#使用Monitor类、Lock和Mutex类进行多线程同步
在多线程中,为了使数据保持一致性必须要对数据或是访问数据的函数加锁,在数据库中这是很常见的,但是在程序中由于大部分都是单线程的程序,所以没有加锁的必要,但是在多线程中,为了保持数据的同步,一定要加锁, ...
- C#基础--.net平台的重要组成部分以及.net程序简单的编译原理
.net平台的组成只要有两部分 FCL:框架类库 CLR:公共语言运行时 .net程序简单的编译原理 1.0:使用C#编译器(csc.exe) 将C#源代码编译成程序集+{编译之前:会检查C ...
- 1.5.2 什么是Analyzer--分析器
分析器检查字段的文本,然后生成一个token流.在schema.xml中,分析器作为<fieldType>的一个子元素.在普通的使用当中,只有字段类型solr.TextField使用分析器 ...
- Android(java)学习笔记64:线程的控制
1. 线程休眠: Java中线程休眠指让正在运行的线程暂停执行一段时间,进入阻塞状态,通过调用Thread类的静态方法sleep得以实现. 当线程调用sleep进入阻塞状态后,在其休眠的时间内,该线程 ...
- TFS 2010 使用手册(四)备份与恢复
本文参考了http://developer.51cto.com/art/201010/229066.htm的文章. TFS的备份与恢复一直没有很完整的解决方案,要完成一个很好的备份要有很多的手动步骤才 ...
- 源自梦想 自定义ViewGroup的整理_1
今天说说自定义控件,稍微偏底层一点的东西.今天的主要任务是自己完全写代码,写一个ViewGroup,实现一个类似ViewPager这样的一个功能. 大家自定义View肯定写过,不过估计写的也不多.等大 ...
- Java Script基础(五) 内置对象Date
在JavaScript中,系统的内置对象有Date对象.Array对象.String对象和Math对象等. 1.Date:用于操作日期和时间. 2.Array:用于在单独的变量名中存储一系列的值. 3 ...