`

Flex 学习小结(1)

阅读更多

摘录最近学FLEX的一些读书笔记小结

1 使用VIDEODISPLAY组件
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[

import flash.media.Camera;
public var cam:Camera;
public function initCamera():void
{
cam=Camera.getCamera();
myVideo.attachCamera(cam);
} 3
]]>
</mx:Script>
<mx:VideoDisplay x="404" y="76" width="199" height="112" id="myVideo" creationComplete="initCamera();"/>

2 MENUBAR组件
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
<mx:Panel height="166" title="MenuBar组件" fontSize="12">
<mx:MenuBar id="myMenuBar" labelField="@label" fontSize="12">
<mx:XMLList>
<menuitem label="文件">
<menuitem label="新建" enabled="false"/>
<menuitem label="打开..."/>
<menuitem label="保存"/>
<menuitem label="另存为..."/>
<menuitem type="separator"/>
<menuitem label="退出"/>
</menuitem>
<menuitem label="编辑">
<menuitem label="剪贴"/>
<menuitem label="复制"/>
<menuitem label="粘贴"/>
</menuitem>
<menuitem label="查看">
<menuitem label="状态栏" type="checkbox"/>
</menuitem>
<menuitem label="帮助">
<menuitem label="帮助"/>l
<menuitem label="关于"/>
</menuitem>
</mx:XMLList>
</mx:MenuBar>
</mx:Panel>
</mx:Application>

3 List组件
<![CDATA[
import flash.events.Event;
public function handleChange(event:Event):void {
forChange.text="";
for(var i:int;i<event.currentTarget.selectedItems.length;i++)
{
forChange.text += event.currentTarget.selectedItems[i].data + " "
+event.currentTarget.selectedIndices[i] + " ";
}
//显示选中List条目的data属性和index
}
]]>
</mx:Script>

<mx:Panel title="List组件" height="211" fontSize="12" width="398">
<mx:List allowMultipleSelection="true" change="handleChange(event)" fontSize="12" width="377"

height="90">
<mx:Object label="北京" data="beijing"/>
<mx:Object label="上海" data="shanghai"/>
<mx:Object label="广州" data="guangzhou"/>
</mx:List>
4 很好用的titlelist组件
<![CDATA[
import mx.controls.Button;
import mx.collections.*;

private static var phone:Array = [
"./pic/Nokia_3100_blue.gif",
"./pic/Nokia_3100_pink.gif",
"./pic/Nokia_3120.gif",
"./pic/Nokia_3220.gif",
"./pic/Nokia_3230_black.gif",
"./pic/Nokia_3230_bronze.gif",
"./pic/Nokia_3595.gif"
];
public var tileListdp:ArrayCollection;
private function initData(items:Array):void {
tileListdp = new ArrayCollection(phone);
myTileList.dataProvider=tileListdp;
}
]]>
</mx:Script>
<mx:TileList id="myTileList" rowCount="2" columnCount="4" rowHeight="100" columnWidth="100"

itemRenderer="mx.controls.Image" creationComplete ="initData(phone)"/>
</mx:Application>
这个其实是个平铺组件,可以看出这个是个2行4列的平铺。

5 DATGRID控件
<mx:DataGrid fontSize="12">
<mx:ArrayCollection>
<mx:Object product="Thinkpad" type="X300" price="24000"/>
<mx:Object product="Thinkpad" type="T61" price="16000" />
<mx:Object product="Apple" type="MacBook AIR" price="16000" />
<mx:Object product="Apple" type="MacBook Pro" price="22000" />
</mx:ArrayCollection>
<mx:columns>
<mx:DataGridColumn dataField="product" headerText="产品"/>
<mx:DataGridColumn dataField="type" headerText="型号"/>
<mx:DataGridColumn dataField="price" headerText="价格(RMB)"/>
</mx:columns>
</mx:DataGrid>
6 DATAGRID的排序
import mx.events.DataGridEvent;
import mx.collections.*;
private var myDPColl:ArrayCollection;
[Bindable]
//Sort对象处理排序
private var sortA:Sort;

// 可进行排序的类别
private var sortByProductName:SortField;
private var sortByProductType:SortField;
private var sortByProductPrice:SortField;
// Data Provider
private var myDP:Array = [
{product:'Thinkpad', type:'T61',price:22000},
{product:'Thinkpad', type:'T61P',price:26000},
{product:'Thinkpad', type:'X61',price:14000},
{product:'Apple', type:'MacBook AIR',price:16000},
{product:'Apple', type:'MacBook Pro',price:23000}
];
//初始化排序的Data Grid组件
private function initDP():void {

myDPColl = new ArrayCollection(myDP);
//通过ArrayCollection构建排序
sortA = new Sort();
sortByProductName = new SortField("product",true);
sortByProductType = new SortField("type", true);
sortByProductPrice = new SortField("price", true);
sortA.fields = [sortByProductName, sortByProductType,

sortByProductPrice];
myDPColl.sort=sortA;
//刷新集合,是排序生效
myDPColl.refresh();

7 TREE组件和有关事件
<![CDATA[
import flash.events.*;
import mx.events.*;
import mx.controls.*;
private function changeEvt(event:Event):void {
var theData:String = ""
if (event.currentTarget.selectedItem.@data) {
theData = " Data: " + event.currentTarget.selectedItem.@data;
}
forChange.text = event.currentTarget.selectedItem.@label + theData;
}
private function itemOpenEvt(event:TreeEvent):void {
forOpen.text = event.item.@label;
}
]]>
</mx:Script>
<mx:Tree id="XMLtree1" fontSize="12" width="300" height="200" labelField= "@label" itemOpen="itemOpenEvt(event);"

change="changeEvt(event);">
<mx:XMLListCollection id="myDocument">
<mx:XMLList>
<folder label="我的文档" data="doc">
<folder label="我的图片" data="pic"/>
<folder label="我的音乐" data="music">
<Pfolder label="PlaceNearBy.mp3" />
<Pfolder label="solo.mp3" />
<Pfolder label="流行乐" isBranch="true" data="pop"/>
</folder>
<folder label="我的应用程序" data="app"/>
<folder label="我的视频" data="video"/>
</folder>
</mx:XMLList>
</mx:XMLListCollection>
</mx:Tree>
<mx:Form fontSize="12">
<mx:FormItem label="Change 事件:">
<mx:Label id="forChange" width="150"/>
</mx:FormItem>
<mx:FormItem label="Open 事件:">
<mx:Label id="forOpen" width="150"/>
</mx:FormItem>
</mx:Form>

8 FORM表单组件
表单的布局例子:
<mx:Form id="myForm" defaultButton="{mySubmit}" fontSize="12">
<mx:FormItem label="用户名">
<mx:TextInput id="userName"/>
</mx:FormItem>
<mx:FormItem label="密码">
<mx:TextInput id="password" displayAsPassword="true"/>
</mx:FormItem>
<mx:FormItem>
<mx:Button label="登录" id="mySubmit"/>
</mx:FormItem>
</mx:Form>
为了保存表单提交保存的数据,可以用模型来保存数据
<mx:Model id="myLoginModel">
<login>
<username>{userName.text}</username>
<password>{password.text}</password>
</login>
</mx:Model>
表单数据验证流程:
<![CDATA[
import mx.controls.Alert;
public function isValid():void
{
if(userName.text.length<3)
{
Alert.show("用户名长度不合法!");
}
}
]]>
<mx:Button label="登录" id="mySubmit" click="isValid();"/>
9 tabnavigator组件
<mx:TabNavigator borderStyle="inset" width="300" height="200" fontSize="12">
<!-- 使用VBox组件作为子容器组件 -->
<mx:VBox id="info" label="个人信息">
<mx:Label text="用户名:User36"/>
<mx:Label text="姓名:Ian Yang"/>
</mx:VBox>
<mx:VBox id="stat" label="登录统计">
<mx:Label text="8.5小时/天"/>
</mx:VBox>
<mx:VBox id="history" label="浏览记录">
<mx:Label text="Adobe"/>
<mx:Label text="IBM"/>
<mx:Label text="Microsoft"/>
</mx:VBox>
</mx:TabNavigator>

分享到:
评论

相关推荐

    flex 学习网址

    #### 小结 以上就是针对“flex 学习网址”的五个推荐资源。这些资料涵盖了Flex从基础知识到进阶技巧、再到实战案例的完整学习路径。无论是初学者还是有一定经验的开发者都能从中受益匪浅。希望各位通过阅读这些内容...

    FLEX从入门到精通.pdf

     1.4 本章小结  第2章 Flex3生态系统  2.1 Flex历史简介  2.2 Adobe Flex3生态系统,  2.2.1 运行时  2.2.2 语言  2.2.3 框架和API  2.2.4 数据通信  2.2.5 服务器  2.3 Adobe Flex RIA工作...

    如何在Flex中使用profile的教程

    #### 七、小结 Adobe Flex Profiler是开发者进行Flex应用性能分析的重要工具。通过本教程的学习,相信您已经掌握了如何使用Adobe Flex Profiler的基本流程。希望这些信息能够帮助您更好地理解并优化您的Flex应用...

    Flex中文帮助文档

    总的来说,这个压缩包提供的资料是一份全面的Flex学习资源,不仅覆盖了Flex的基础知识,还包含了实际项目开发的经验分享,对于想要深入理解和应用Flex的开发者来说,具有很高的参考价值。通过阅读和实践这些文档,...

    flex中tree的数据源是xml

    #### 小结 通过以上步骤,我们可以清晰地看到从数据库查询到生成XML文件的整个过程。这种方式不仅实现了数据的有效管理和传递,还极大地提高了Flex应用程序的灵活性和性能。对于开发者而言,掌握这种方法有助于更好...

    Maven构建全栈式Flex、BlazeDS和Spring集成解决方案–第一部分_创建Maven_Flex模块

    #### 四、小结 通过上述步骤,我们可以成功构建一个完整的Flex、BlazeDS和Spring集成解决方案。这一集成方案不仅能够实现前端Flex与后端Spring的有效通信,还能够利用BlazeDS提供的远程服务功能,使得整个系统的...

    flex的mxml语言基础

    **小结** 总的来说,Flex项目由MXML和ActionScript协同完成,MXML负责界面展示,ActionScript负责逻辑处理。命名空间作为类的组织方式,避免了类名冲突。掌握MXML的基础知识,对于高效开发Flex应用至关重要。通过...

    关于打地鼠的Flex代码

    #### 小结 该Flex代码示例展示了如何使用Flex框架来实现一个简单的打地鼠游戏。通过对变量的管理和事件处理的合理安排,不仅确保了游戏逻辑的清晰性,还提高了用户体验。对于学习Flex编程的新手来说,这是一个很好的...

    Flex从入门到实践2

    5. **小结与习题** 本章总结了导航组件的关键应用,强调了视图间的切换方法,并提出了几个关于如何使用这些组件设计导航的问题,以供读者巩固学习。 接下来,我们转向菜单设计。菜单是功能导航的重要组成部分,...

    Wiley.Adobe.Flash.Builder.4.and.Flex.4.Bible.Apr.2010.rar

    每个章节结尾通常会有小结和练习题,帮助巩固学习成果。对于想要深入掌握Flash Builder 4和Flex 4的开发者来说,这是一本不可多得的参考书。 总之,《Wiley Adobe Flash Builder 4 and Flex 4 Bible》涵盖了Flash ...

    CSS3小结

    **CSS3小结** 在网页设计领域,CSS3(Cascading Style Sheets Level 3)是HTML和XML文档样式表语言的最新版本,它极大地扩展了CSS2.1的功能,引入了许多新的特性和改进,使得网页设计更加丰富多彩,更具表现力。本...

    Web前端技术项目式教程(HTML5 CSS3 Flex Bootstrap)教案-美化网页.pdf

    4. **任务小结**:总结本课内容,巩固所学知识。 【教学资源】 1. **装有SublimeText3的电脑**:提供编写和测试代码的环境。 2. **教学课件PPT**:辅助教学,展示实例和讲解内容。 3. **教材**:《Web前端技术项目...

    AS3学习笔记flashdevelop平台搭建配置.pdf

    7. 小结 本学习笔记对FlashDevelop平台的搭建和配置进行了详细的介绍,并对其中涉及到的知识点进行了详细的解释。通过本学习笔记,读者可以快速掌握FlashDevelop平台的使用和配置,提高Flash项目的开发效率。

    css网页布局中注意的几个问题小结

    以下是对"css网页布局中注意的几个问题小结"的详细解释: 一、避免使用不常见的CSS属性和技巧 一些特殊的CSS属性如`break-word`用于强制换行,`z-index`用于元素的层叠顺序,以及各种垂直对齐方法,虽然在某些情况...

    一波CSS+Div实用技巧小结

    flex: 1; } ``` 以上就是一些CSS+Div的实用技巧,它们可以帮助开发者更高效地进行网页布局和设计。记住,良好的CSS实践不仅可以提高代码质量,还可以提升用户体验,因为性能优化和易用性通常是相互关联的。在实际...

    编译原理实验

    实验小结:概括实验过程中的主要学习点,包括编译器各阶段的理解和实践经验。 建议:提出改进编译器设计或提高实验效率的建议,如优化错误处理机制、增强代码生成的效率等。 体会:分享个人在实验中学到的新知识、...

    CSS布局最常见的八条错误小结

    1. **忽视W3C标准文档**: CSS的新手往往忽略了W3C的标准文档,这是理解CSS行为的关键。例如,盒模型、选择器和可视化格式模型是非常重要的部分。熟悉这些标准可以帮助解决浮动元素、块级元素布局等问题。 2. **...

    Maven权威指南 很精典的学习教程,比ANT更好用

    小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2. 定义Simple Weather项目 4.2.1. Yahoo! Weather RSS 4.3. 创建Simple Weather项目 4.4. 定制项目信息 4.5. 添加新的依赖 4.6. ...

    bootstrap总结与例子

    1. **栅格系统**:Bootstrap的栅格系统是基于12列的布局,允许灵活地创建响应式的网页设计。通过类 `.col-*` 和 `.row` 可以轻松调整元素在不同屏幕尺寸下的显示。 2. **响应式导航条** (`navbar`): Bootstrap的...

Global site tag (gtag.js) - Google Analytics