完全手册 Flex3.0 RIA开发详解:基于ActionScript3.0实现

在当当网购买此书
黄曦等编著 2008年1月出版 ISBN 978-7-121-05648-2 69.8 元(含光盘1 张) 648页
作者的话
RIA富媒体开发应用很早就出现了。但真正兴起是2007年的事情。2007的网络视频的飞速发展,掀开RIA大规模应用的开始。而2008年号称是RIA应用年。在RIA开发技术中,以Adobe的Flex技术和微软的Siverlight为首。而发展最成熟的是Flex技术。现在Adobe推出功能更强大的最新版本Flex 3.0。 本人跟踪Flex技术多年,深刻体验Flex 1.5、2.0版本。经过一年的准备和写作,终于完成这本书。这本书从基础讲解,剖析Flex 3.0技术构成,详细讲解Flex 3.0的基础——Actionscript 3.0,介绍其组件应用,分析其与后台交互数据的处理,并在最后对Cairngorm框架进行引入。本书在注重理论讲解的同时,还介绍Flex现有的应用视频播放器和扩展应用Flex网上商城的构建。 希望读者通过本书掌握Flex 3.0,从而进入RIA绚丽的广泛世界。
内容简介
Flex是目前最流行的RIA(Rich Internet Application)开发技术之一。本书由浅入深,循序渐进地讲解如何使用Flex技术开发RIA应用程序。全书内容包括Flex简介、安装和配置Flex开发运行环境、熟悉Flex开发工具、ActionScript 3.0语法、Flex组件开发、CSS布局、美化界面、数据传输与交互、开发框架Cairngorm等。为了便于读者学习,本书最后两章分别对两个较综合的实例进行分析,详细讲解了Cairngorm开发框架的搭建、组件设计、功能设计、界面外观设计。 本书适合广大Flex程序开发人员、RIA开发爱好者和大专院校学生阅读,尤其是有编程经历的技术开发人员。
前言
Flash的难题
传统的HTML应用程序功能单一、人机交互性差、安全性能不高。随着RIA(Rich Internet Application)技术的不断发展,Web开发有了新的发展分支,即包含丰富用户体验的应用程序。
最早的RIA应用程序大多由Flash开发工具制作。RIA程序的效果非常理想,且可运行于不同平台中,但Flash工具的特点决定了它不适合开发大中型RIA程序。其一,Flash工具是专业用于制作动画的开发平台,适合于开发时间逻辑较强的程序,但并不适合于开发业务逻辑复杂的程序。其二,Flash工具倡导DIY精神,只提供最基础的组件,所以几乎所有的任务都要自行完成。
Flex横空出世
Flex技术的出现解决了Flash技术的大部分问题。使用Flex技术开发部署RIA应用程序非常简单。由于Flex技术基于MXML标准、CSS标准、XML标准、ActionScript 3.0标准,所以开发过程更规范、应用程序更容易扩展。Flex技术中提供丰富的组件,使得Flex开发人员只需将注意力集中于业务逻辑开发。另外,Flex编程是面向对象的编程,开发过程与大部分编程语言相似,所以其他语言开发人员可较容易地理解和掌握Flex。从Google趋势(http://www.google.cn/trends?q=flex&ctab=0&hl=zh-CN&geo=CN&date=all)上可以看出Flex发展迅猛,如下图所示:

为了帮助初学者入门和掌握Flex技术,作者翻阅了大量英文文档,编写了大量实例代码,花费大约半年时间编写此书。本书全面地介绍了Flex技术,并以实例介绍了如何使用Flex技术开发应用程序。通过本书的学习,读者能够了解和掌握Flex开发技巧,具有一定的开发实践能力。
本书的特点
- 提供完善的售后服务:
为了帮助大家学习Flex,我们为广大读者建立专门的讨论区,网址为www.rzchina.net。广大读者可以和作者对Flex技术进行讨论。
- 循序渐进,由浅入深:
为了方便读者学习,本书首先让读者了解什么是Flex,使用什么工具开发,并详细介绍第一个Flex应用程序的开发过程。读者可通过第一个Flex程序,逐步了解和熟悉Flex技术的开发过程、开发技巧。本书先介绍ActionScript 3.0语言的语法,后介绍Flex组件开发、美化界面、数据传输、开发框架等内容,最后以综合实例帮助读者学习Flex技术。
- 技术全面,内容充实:
作者花费2~3个月时间进行前期准备,详细分析了现行Flex技术及相关技术的特点和实例应用。全书包含Flex常用的各种技术和工具,如Flex Builder 3、LiveCycle Data Services、Cairngorm、Flex-Ajax Bridge以及与这些技术的结合。
- 案例精讲,深入剖析:
根据本人多年的项目经验和对Flex技术的深入研究,认为学习Flex技术的捷径在于多看多实践,所以本书中为每个知识点都提供实例代码。读者通过分析和理解代码及代码解释,可以更快地掌握Flex技术中的知识点和开发技巧。本书在实例代码中提供详细的注释,对有特殊用法或含义的代码进行详细阐述。
- 综合实例,灵活应用:
本书最后三章分别介绍了Flex播放器实例、CairngormStore实例和视频分享网站。这三个实例都具有一定的代表性。通过Flex播放器实例,读者可以学习和掌握如何在Flex中控制视频和音频。CairngormStore实例是一个简单的在线购物网站。而视频分享网站是Flex现在最成功的商业应用。读者通过此实例的学习可了解和掌握如何使用Flex开发大中型的应用程序。
- 配有光盘,加速学习:
本书配套光盘中包含书中全部实例的工程源代码,读者可以方便地学习和参考。查看和分析大量源代码能快速、有效地提高Flex编程能力,掌握开发技巧。
本书的内容

光盘介绍
- 系统运行环境
技术平台:Flex 3.0。 数据库:SQL Server 2000。 AMF服务器软件:Fluorine(for .net)或LiveCycle Data Services(for java)。 开源框架:Cairngorm 2.1或Cairngorm 2.2。 操作系统:Windows系列操作系统或Mac系列操作系统。 需要说明的是,绝大部分源程序未使用数据库、.net、Java、Cairngorm框架,所以只需要安装Flex 3.0即可。
- 硬件环境
任何可以正常运行Windows操作系统或Mac操作系统的电脑都可以运行。 常规硬件配置,对显卡、声卡都无特别要求。
- 本光盘应注意事项
本光盘主要为书中的源程序,其使用方法如下所示。
- 在Flex平台下单击“File”|“Import…”命令,打开导入对话框,如图1所示。
 图1 导入对话框
-
选择“General”文件夹下的“Existing Projects into Workspace”选项。单击“Next”按钮,打开选择工程路径对话框,如图2所示。  图2 选择工程路径对话框
-
在“Select root directory”文本框中输入工程根目录,单击“Finish”按钮,完成导入Flex工程。
- 数据库导入
本书中21.5和21.6的源代码中提供了SQL Server 2000数据库文件(.mdf和.ldf)和sql文件(.sql)。两种方法可以导入数据库:执行sql语句(此方法在本书中已介绍),导入数据库源文件(.mdf)。导入数据库源文件的方法如下所示。
- 单击“开始”|“Microsoft SQL Server”|“企业管理器”命令,打开企业管理器对话框,如图3所示。
 图3 企业管理器
- 右击“数据库”选项,选择“所有任务”|“附加数据库…”命令,弹出附加数据库对话框,如图4所示。
 图4 附加数据库对话框
- 在“要附加数据库的MDF文件”文本框中输入数据库文件(.mdf)路径。单击“确定”按钮完成导入数据库。
- “源文件”文件夹
请详见本书附录A。
- “Flex 3.0学习指南”文件夹
共26个文件619桢动画,并以幻灯片的形式播放,可以说是自学的最好素材。同时还可以作为老师的讲义,在授课时使用。
- “Flash ActionScript 3.0学习指南”文件夹
其中包括24章419桢动画,囊括了ActionScript 3.0的所有知识,可以通过它,可以了解AS3的各种概念,为深入学习打下基础。
适合的读者
- Flex专业开发人员
- 网站开发人员
- Flex程序维护人员
- 客户端程序开发人员
- RIA开发爱好者
- UI界面设计人员
- 大中专院校的学生
- 社会培训学生
目录
第一篇 基础篇 第 1章 Flex概述 2 1.1 Flex简介 2 1.1.1 Flex的技术特点 3 1.1.2 Flex 3.0的新特性 5 1.2 Flex Builder 3的下载与安装 6 1.2.1 安装Flex Builder 3的系统 1.2.1 要求 7 1.2.2 下载Flex Builder 3 Beta 1 7 1.2.3 Flex Builder 3 Beta 1的安装 9 1.3 Flex基础结构MXML介绍 11 1.4 建立第一个Flex 3.0程序 12 1.5 编译与运行第一个Flex 3.0程序 15 1.6 小结 16 第 2章 熟悉开发环境Flex Builder 3 17 2.1 熟悉Flex Builder 3工作区 17 2.2.1 Perspectives(透视) 17 2.2.2 Editors(编辑器) 18 2.2.3 Views(视图) 20 2.2 编译与运行Flex 3.0程序详解 21 2.3 调试Flex 3.0程序 23 2.3.1 添加断点 23 2.3.2 调试程序 24 2.3.3 监视变量 25 2.4 Flex 3.0项目工程概述 25 2.4.1 Flex Project 26 2.4.2 ActionScript Project 26 2.4.3 AIR Project 26 2.4.4 Flex Library Project 26 2.5 Flex Builder 3常用快捷键 27 2.6 使用Flex Help 27 2.7 小结 28 第二篇 ActionScript 3.0语法篇 第 3章 ActionScript 3.0基础 30 3.1 ActionScript 3.0概述 30 3.2 使用ActionScript 3.0 30 3.2.1 在MXML文件中直接编写 3.2.1 ActionScript 3.0 31 3.2.2 在AS文件中编写ActionScript 3.0 31 3.2.3 MXML中引用AS文件 33 3.3 创建第一个ActionScript 3.0 3.3 应用程序 33 3.4 小结 37 第 4章 数据类型 38 4.1 常量与变量 38 4.1.1 直接常量和符号常量 38 4.1.2 变量 39 4.1.3 变量赋初值 40 4.1.4 局部变量和全局变量 40 4.1.5 变量的存储方式 42 4.2 整型数据 43 4.2.1 整型常量 43 4.2.2 整型变量 44 4.3 实型数据 45 4.3.1 实型常量的表示方法 46 4.3.2 实型变量 47 4.4 字符串数据 47 4.4.1 字符串常量 48 4.4.2 转义字符 48 4.4.3 字符串变量 49 4.5 各类型数据之间的转换 49 4.5.1 自动类型转换 49 4.5.2 强制类型转换 50 4.6 小结 50 第 5章 运算符和表达式 51 5.1 ActionScript 3.0运算符简介 51 5.2 算术运算符和算术表达式 52 5.2.1 基本的算术运算符 52 5.2.2 算术表达式 53 5.2.3 运算符的优先级和结合性 53 5.2.4 自增、自减运算符 53 5.3 关系运算符和关系表达式 54 5.3.1 关系运算符 54 5.3.2 关系表达式 55 5.4 逻辑运算符和逻辑表达式 56 5.4.1 逻辑运算符 56 5.4.2 逻辑运算的值 57 5.4.3 逻辑表达式 57 5.5 赋值运算符和赋值表达式 58 5.3.1 简单赋值运算符和简单赋值 5.3.1 表达式 58 5.3.2 复合赋值运算符和复合赋值 5.3.1 表达式 59 5.6 逗号运算符和逗号表达式 59 5.7 位运算符 60 5.8 小结 63 第 6章 程序设计的基本结构 64 6.1 顺序结构程序设计 64 6.1.1 表达式语句 64 6.1.2 函数调用语句 64 6.1.3 复合语句 65 6.1.4 空语句 65 6.1.5 赋值语句 65 6.2 分支结构程序设计 67 6.2.1 if语句 67 6.2.2 if…else语句 67 6.2.3 if…else…if语句 68 6.2.4 if语句的嵌套 71 6.2.5 switch语句 72 6.3 循环结构程序设计 74 6.3.1 goto语句 74 6.3.2 while语句 75 6.3.3 do-while语句 75 6.3.4 for语句 77 6.3.5 循环的嵌套 80 6.3.6 几种循环语句的比较 80 6.3.7 break语句 80 6.3.8 continue语句 81 6.4 小结 82 第 7章 函数 83 7.1 函数概述 83 7.2 函数定义的一般形式 84 7.2.1 无参函数的定义形式 84 7.2.2 有参函数的定义形式 85 7.3 函数的参数和函数的返回值 86 7.3.1 形式参数和实际参数 86 7.3.2 函数的返回值 87 7.4 函数的调用 88 7.4.1 函数调用的一般形式 88 7.4.2 函数调用的方式 89 7.5 函数的嵌套调用 89 7.6 函数的递归调用 90 7.7 数组作为函数参数 91 7.7.1 数组元素作为函数实参 92 7.7.2 数组名作为函数参数 92 7.8 小结 93 第 8章 面向对象基础 94 8.1 类和对象 94 8.1.1 类的定义形式 94 8.1.2 类的成员类型 95 8.1.3 调用类中的成员 96 8.2 构造函数和析构函数 97 8.2.1 构造函数 97 8.2.2 析构函数 99 8.3 继承与派生 100 8.3.1 派生类定义的一般形式 101 8.3.2 派生类的保护成员 101 8.3.3 派生类的构造函数 102 8.4 接口 103 8.4.1 创建接口 103 8.4.2 使用类实现接口 104 8.5 小结 105 第 9章 数字处理 106 9.1 数字的不同表现形式 106 9.2 不同数字类型之间的转换 107 9.2.1 输出其他进制函数toString 107 9.2.2 十进制转化函数parseInt 108 9.3 四舍五入 108 9.3.1 四舍五入函数round 109 9.3.2 其他舍入函数 109 9.4 格式化输出 110 9.5 格式化货币数字 111 9.6 生成随机数 112 9.6.1 Math类中生成随机实型函数 5.3.1 random 112 9.6.2 NumberUtilities类中生成随机数 5.3.1 函数random 112 9.7 小结 113 第 10章 日期与时间 114 10.1 获取系统当前日期 114 10.2 获取日期中的特定值 114 10.3 自定义星期名和月份名 115 10.4 格式化输出日期 116 10.5 使用计时器 118 10.6 计算日期特定值的间隔 119 10.7 从字符串中获取日期 120 10.8 小结 121 第 11章 字符串 122 11.1 连接字符串 122 11.1.1 “+”操作符连接字符串 123 11.1.2 “+=”操作符连接字符串 123 11.2 字符串中使用引号 124 11.3 插入空白字符 124 11.4 搜索匹配字符串 125 11.4.1 顺序搜索字符串函数indexOf 125 11.4.2 逆序搜索字符串函数 11.4.2 lastIndexOf 126 11.5 取字符串的子串 126 11.5.1 substr方法 127 11.5.2 substring方法 127 11.5.3 slice方法 128 11.6 字符串转为数组 128 11.7 替换字符串 129 11.7.1 替换字符串函数replace 129 11.7.2 其他替换字符串方法 130 11.8 对字符串中的单字符操作 131 11.9 大小写转换 131 11.10 过滤空白字符 132 11.11 反转字符串 133 11.12 存取ASCII码 134 11.12.1 以ASCII码构造字符串 11.12.1 函数fromCharCode 134 11.12.2 读取单字符的ASCII码 11.12.1 函数charCodeAt 135 11.13 小结 135 第 12章 数组 136 12.1 数组简介 136 12.1.1 数组的分类 136 12.1.2 创建数组的方法 137 12.2 在数组首部和尾部添加元素 138 12.2.1 数组尾部添加新元素函数push 138 12.2.2 使用“[]”操作符在尾部添加 12.2.2 新元素 138 12.2.3 数组首部添加新元素函数 12.2.2 unshift 139 12.3 遍历数组元素 139 12.4 搜索匹配的数组元素 139 12.4.1 findMatchIndex方法 140 12.4.2 findLastMatchIndex方法和 12.2.2 findMatchIndices方法 141 12.5 删除数组元素 141 12.5.1 删除任意数组元素函数splice 141 12.5.2 删除数组首部元素函数shift 142 12.5.3 删除数组尾部元素函数pop 142 12.5.4 删除特定值的数组元素 143 12.6 在数组中插入元素 144 12.7 转换字符串为数组 145 12.8 转换数组为字符串 145 12.9 复制数组 146 12.9.1 concat方法 146 12.9.2 slice方法 147 12.9.3 ArrayUtilities类的duplicate 12.2.2 方法 147 12.10 存储多维数据 148 12.11 数组排序 150 12.11.1 sort方法 150 12.11.2 sortOn方法 152 12.12 实现自定义排序 154 12.13 数组元素的最大值和最小值 155 12.14 比较数组 156 12.15 联合数组 157 12.15.1 创建联合数组 157 12.15.2 访问联合数组元素 158 12.15.3 遍历联合数组 159 12.16 小结 159 第 13章 使用XML 160 13.1 XML概述 160 13.2 创建XML对象 161 13.2.1 使用XML标签创建XML对象 161 13.2.2 使用字符串创建XML对象 162 13.3 XML对象中添加元素 162 13.3.1 将元素名作为属性添加元素 163 13.3.2 使用“[]”操作符添加元素 163 13.3.3 其他添加元素的方法 164 13.4 XML对象中添加元素内容 164 13.4.1 将元素名作为属性添加 12.2.2 元素内容 165 13.4.2 使用XML类中的方法添加 12.2.2 元素内容 165 13.5 XML元素中添加属性 166 13.5.1 使用“@”操作符添加属性 166 13.5.2 使用“[]”操作符添加属性 167 13.6 从XML中读取元素 167 13.7 定位元素 168 13.8 读取元素内容 169 13.9 读取属性值 170 13.9.1 使用“@”操作符读取属性值 170 13.9.2 使用attribute方法读取属性值 171 13.9.3 使用attributes方法读取全部 12.2.2 属性值 171 13.10 删除元素和属性 172 13.11 加载XML文件 173 13.12 小结 174 第三篇 组件篇 第 14章 使用组件构建Flex界面 176 14.1 Flex组件概述 176 14.2 Flex可见组件 177 14.2.1 可见组件的分类 177 14.2.2 使用可见组件构建界面 177 14.3 使用Flex非可见组件 178 14.4 Flex常用组件 179 14.4.1 按钮组件Button 180 14.4.2 下拉框组件ComboBox 181 14.4.3 图像组件Image 182 14.4.4 标签组件Label 182 14.4.5 多行文本组件TextArea 183 14.4.6 输入框组件TextInput 183 14.4.7 文本编辑组件RichTextEditor 184 14.5 小结 184 第 15章 Flex 3.0界面设计实战 185 15.1 登录框实例 185 15.1.1 制作登录框界面 185 15.1.2 使用按钮处理事件 188 15.1.3 制作校验码 189 15.1.4 验证合法用户 191 15.1.5 合法用户进入主程序 192 15.2 菜单导航实例 194 15.2.1 制作菜单 194 15.2.2 设计状态 195 15.2.3 菜单导航 197 15.2.4 制作状态切换时的过渡效果 199 15.3 柱状图实例 201 15.3.1 设计数据集 201 15.3.2 设计柱状图界面及数据绑定 202 15.4 文件目录浏览器实例 204 15.4.1 外观界面设计 205 15.4.2 文件系统组件的路径 207 15.4.3 制作“后退”效果 208 15.5 AIR程序集成网页实例 209 15.5.1 HTML组件集成网页 209 15.5.2 使用JavaScriptObject类型调用 15.5.2 DOM 211 15.5.3 JavaScript与ActionScript 3.0的 15.5.3 交互 212 15.6 文本编辑器实例 216 15.6.1 设计文本编辑器界面 217 15.6.2 选择文件 218 15.6.3 读取文件 219 15.6.4 写文件 220 15.7 组件数据拖曳实例 222 15.8 小结 223 第 16章 自定义效果美化界面 224 16.1 自定义事件效果 224 16.2 Flex 3.0的效果组件 225 16.2.1 模糊效果组件<mx:Blur> 226 16.2.2 溶解效果组件<mx:Dissolve> 226 16.2.3 渐显效果组件<mx:Fade> 228 16.2.4 发光效果组件<mx:Glow> 229 16.2.5 移动效果组件<mx:Move> 230 16.2.6 改变大小组件<mx:Resize> 231 16.2.7 旋转效果组件<mx:Rotate> 232 16.2.8 声音效果组件<mx:SoundEffect> 233 16.2.9 显示顺序组件<mx:WipeDown> 235 16.2.10 缩放效果组件<mx:Zoom> 235 16.2.11 组合效果组件<mx:Parallel> 237 16.3 自定义组件界面 238 16.3.1 使用组件属性改变界面 238 16.3.2 使用setStyle方法改变界面 239 16.4 使用Filter滤镜类 240 16.5 小结 241 第 17章 CSS美化界面 242 17.1 CSS简介 242 17.2 样式名 243 17.2.1 默认样式名 243 17.2.2 自定义样式名 243 17.2.3 分组样式名 244 17.3 属性 245 17.3.1 字体(Font) 245 17.3.2 文本(Text) 246 17.3.3 背景(Background) 249 17.3.4 定位(Positioning) 250 17.3.5 尺寸(Dimensions) 251 17.3.6 布局(Layout) 252 17.3.7 外补丁(Margins) 253 17.3.8 边框(Borders) 254 17.3.9 内补丁(Paddings) 256 17.3.10 列表(Lists) 257 17.3.11 表格(Table) 258 17.3.12 滚动条(Scrollbar) 258 17.3.13 打印(Printing) 259 17.3.14 声音(Aural) 260 17.4 单位 262 17.4.1 长度(Length) 262 17.4.2 颜色(Color) 263 17.4.3 角度(Angle) 264 17.4.4 时间(Time)和频率 17.4.4 (Frequency) 264 17.5 规则 264 17.5.1 导入外部样式表@import 264 17.5.2 指定字符集@charset 265 17.5.3 导入外部字体@font-face 265 17.5.4 指定设备@media 265 17.6 静态滤镜 266 17.6.1 色彩层滤镜(Gradient) 266 17.6.2 边界图片滤镜 17.6.2 (AlphaImageLoader) 267 17.6.3 透明度滤镜(Alpha) 268 17.6.4 图片处理滤镜(BasicImage) 269 17.6.5 模糊滤镜(Blur) 270 17.6.6 阴影滤镜(DropShadow) 271 17.6.7 浮雕滤镜(Emboss) 272 17.6.8 发光滤镜(Glow) 273 17.6.9 矩阵遮罩(Matrix) 274 17.6.10 运动模糊滤镜(MotionBlur) 276 17.6.11 波纹滤镜(Wave) 277 17.6.12 X光滤镜(Xray) 278 17.6.13 反相滤镜(Invert) 278 17.7 转换滤镜 279 17.7.1 百叶窗效果滤镜(Blinds) 279 17.7.2 国际象棋棋盘效果滤镜 17.7.2 (CheckerBoard) 280 17.7.3 渐隐效果滤镜(Fade) 281 17.7.4 滚动渐隐效果滤镜 17.7.4 (GradientWipe) 282 17.7.5 对角扩张效果滤镜(Insert) 283 17.7.6 放射状擦除效果滤镜 17.7.4 (RadialWipe) 284 17.7.7 随机线条效果滤镜 17.7.4 (RandomBars) 285 17.7.8 随机像素溶解效果滤镜 17.7.4 (RandomDissolve) 286 17.7.9 拉伸(缩)变形效果滤镜 17.7.4 (Stretch) 287 17.7.10 风车叶轮旋转效果滤镜 17.7.10 (Wheel) 288 17.7.11 擦地板的效果滤镜(Zigzag) 288 17.8 使用<mx:Style>组件定义CSS 289 17.8.1 <mx:Style>组件内部定义CSS 290 17.8.2 <mx:Style>组件调用外部CSS 290 17.8.3 两种CSS定义方式的比较 291 17.9 Flex2StyleExplorer工具辅助设计 17.9 CSS样式 291 17.10 Flex组件应用CSS样式 294 17.11 运行时动态加载CSS样式 295 17.11.1 调用SWF样式文件 297 17.11.2 撤销SWF样式文件 297 17.11.3 按钮控制应用样式 298 17.11.4 完成剩余代码 298 17.12 小结 301 第 18章 Flex美化应用 302 18.1 自定义字体 302 18.1.1 自定义字体概述 302 18.1.2 使用Flex支持的系统字体 303 18.1.3 使用Flex不支持的系统字体 304 18.2 自定义提示文本 305 18.3 自定义光标 307 18.4 自定义AIR程序窗口外观 309 18.5 苹果风格界面实例 314 18.5.1 组件设计 314 18.5.2 CSS美化组件界面 319 18.5.3 ApplicationControlBar组件样式 320 18.5.4 Application组件样式 320 18.5.5 MenuBar组件样式 321 18.5.6 Panel组件样式 321 18.5.7 自定义“panelTitle”样式 322 18.5.8 TextInput组件样式 323 18.5.9 Button组件样式 323 18.5.10 自定义“blueButton”样式 324 18.5.11 Accordion组件样式 324 18.5.12 NumericStepper组件样式 325 18.5.13 CheckBox组件样式 325 18.5.14 RadioButton组件样式 326 18.5.15 ComboBox组件样式 327 18.5.16 TabNavigator组件样式 327 18.5.17 自定义“selectedTab”样式 328 18.5.18 Tab组件样式 329 18.5.19 List组件样式 329 18.5.20 DataGrid组件样式 330 18.5.21 DateChooser组件样式 331 18.6 Vista风格界面实例 332 18.6.1 组件设计 332 18.6.2 CSS美化组件界面 336 18.6.3 全局样式global 337 18.6.4 AccordionHeader组件样式 337 18.6.5 Application组件样式 339 18.6.6 Button组件样式 339 18.6.7 ButtonBar组件样式 341 18.6.8 ColorPicker组件样式 346 18.6.9 ComboBox组件样式 347 18.6.10 DataGrid组件样式 348 18.6.11 DateChooser组件样式 349 18.6.12 ProgressBar组件样式 350 18.6.13 Image组件样式 350 18.6.14 MenuBar组件样式 351 18.6.15 RadioButton组件样式 351 18.6.16 CheckBox组件样式 352 18.6.17 HSlider组件样式 352 18.6.18 TitleWindow组件样式 353 18.6.19 调用自定义窗体 354 18.6.20 调用“style.css”文件 354 18.7 小结 354 第四篇 数据篇 第 19章 Flex中的数据处理 356 19.1 数据绑定 356 19.1.1 简单绑定方式 356 19.1.2 使用<mx:Binding>组件绑定 19.1.2 数据 357 19.2 复杂数据的存储 359 19.2.1 使用<mx:Model>组件存储数据 359 19.2.2 使用<mx:Object>组件存储数据 361 19.2.3 使用<mx:XML>组件存储数据 362 19.3 数据验证 363 19.3.1 数据验证组件概述 363 19.3.2 如何使用数据验证组件 364 19.3.3 验证触发方式 365 19.3.4 验证失败处理 368 19.3.5 自定义验证组件 369 19.3.6 数据验证应用实例 372 19.4 数据格式化 377 19.4.1 格式化组件概述 378 19.4.2 货币格式化组件 19.4.2 <mx:CurrencyFormatter> 378 19.4.3 日期格式化组件 19.4.2 <mx:DateFormatter> 379 19.4.4 数字格式化组件 19.4.2 <mx:NumberFormatter> 381 19.4.5 电话格式化组件 19.4.2 <mx:PhoneFormatter> 382 19.4.6 邮编格式化组件 19.4.2 <mx:ZipCodeFormatter> 383 19.5 小结 383 第 20章 使用正则表达式匹配字符串 数据 384 20.1 正则表达式概述 384 20.2 正则表达式的语法 384 20.2.1 元字符 385 20.2.2 转义字符 385 20.2.3 限定符 385 20.2.4 字符集合 386 20.2.5 反义 386 20.2.6 多规则 387 20.2.7 子表达式 388 20.3 使用Regex Tester工具测试正则 20.3 表达式 388 20.4 Flex 3.0中使用正则表达式 389 20.4.1 使用RegExp类定义正则表达式 389 20.4.2 使用RegExp类匹配数据 390 20.4.3 Flex中使用正则表达式实例 391 20.5 小结 395 第 21章 数据传输与交互 396 21.1 数据传输的方式 396 21.1.1 内部数据传输 396 21.1.2 文件流方式传输 399 21.1.3 XML方式传输 401 21.1.4 其他方式传输 403 21.2 使用<mx:HTTPService>组件与 21.2 HTTP程序交互 403 21.3 <mx:HTTPService>组件实例 404 21.3.1 编写ASP.NET程序 405 21.3.2 创建虚拟目录 407 21.3.3 编写Flex程序 409 21.4 使用<mx:WebService>组件 21.4 与WebService程序交互 411 21.4.1 WebService概述 412 21.4.2 如何使用<mx:WebService>组件 412 21.5 <mx:WebService>组件实例 414 21.5.1 创建数据库 414 21.5.2 编写WebService 416 21.5.3 编写Flex程序 419 21.6 使用Fluorine网关与ASP.NET类 21.6 交互 421 21.6.1 Fluorine简介 421 21.6.2 Fluorine的下载与安装 422 21.6.3 第三方组件RemoteObjectAMF0 21.6.3 的使用方法 423 21.6.4 Fluorine实例 425 21.7 小结 432 第五篇 扩展篇 第 22章 Cairngorm开发框架 434 22.1 Cairngorm简介 434 22.2 Flex 3.0中如何添加Cairngorm 22.2 框架 435 22.3 Cairngorm框架中的基础类 436 22.3.1 类的文件组织结构 436 22.3.2 处理正常或异常结果的 22.3.2 Responder类 437 22.3.3 查找服务的ServiceLocator类 437 22.3.4 处理事件的Command类 438 22.3.5 创建新事件的 22.3.5 CairngormEvent类 438 22.3.6 管理事件的 22.3.6 CairngormEventDispatcher类 439 22.3.7 监听事件的FrontController类 441 22.3.8 存储数据模型的 22.3.6 ModelLocator类 442 22.3.9 辅助操作视图的ViewHelper类 442 22.3.10 查找视图的ViewLocator类 444 22.3.11 定义数据模型的 22...316 ValueObject类 446 22.4 Cairngorm框架的运行原理 446 22.4.1 自定义事件(Cairngorm 22.4.1 Event类) 446 22.4.2 自定义命令(Command类) 447 22.4.3 前台控制器(FrontController类) 22.4.3 监听事件 448 22.4.4 在服务定位器(ServiceLocator类) 22.4.4 中寻找服务 449 22.4.5 在模型定位器(ModelLocator类) 22.4.5 中存取数据 450 22.4.6 使用ViewHelper类修改视图 451 22.4.7 使用ValueObject类自定义数据 22.4.7 模型 452 22.5 Cairngorm实例 452 22.6 小结 466 第 23章 Flex 3.0新特性的应用 467 23.1 加载PDF文件 467 23.1.1 加载PDF文件前的准备 467 23.1.2 使用HTMLControl类加载 23.1.2 PDF文件 467 23.1.3 使用HTMLPDFCapability类检测 23.1.3 Adobe Reader版本 468 23.1.4 加载PDF文件实例 468 23.2 使用本地SQL数据库 470 23.2.1 使用Select语句读取数据 470 23.2.2 使用Insert语句添加数据 471 23.2.3 使用Update语句修改数据 471 23.2.4 使用Delete语句删除数据 472 23.2.5 使用SQLConnection类连接 23.2.5 数据库 472 23.2.6 使用SQLStatement类执行SQL 23.2.6 语句 473 23.2.7 操作本地SQL数据库实例 474 23.3 升级AIR应用程序 480 23.3.1 升级前的准备 481 23.3.2 检查版本信息 481 23.3.3 使用FileStream类下载最新 23.3.3 版本 482 23.3.4 使用Updater类升级AIR 23.3.4 应用程序 483 23.3.5 升级AIR应用程序实例 483 23.4 Flex 3.0中使用Ajax技术 487 23.4.1 Ajax技术简介 488 23.4.2 使用<mx:HTML>组件调用 23.4.2 Ajax技术 488 23.4.3 Flex应用程序结合Ajax 23.4.3 技术实例 489 23.5 使用Flex-Ajax Bridge技术控制 23.5 Flex应用程序 496 23.5.1 Flex-Ajax Bridge技术简介 497 23.5.2 Flex-Ajax Bridge技术的 23.5.2 运行原理 497 23.5.3 使用getCompenentID方法 23.5.3 获取组件 500 23.5.4 使用getPropertyName方法获取 23.5.4 属性值 501 23.5.5 使用setPropertyName方法设置 23.5.5 属性值 501 23.5.6 为组件添加监听事件 502 23.5.7 调用Flex程序中的函数 502 23.5.8 Flex-Ajax Bridge技术控制Flex 23.5.8 程序实例 503 23.6 小结 506 第六篇 实例篇 第 24章 FLV播放器 508 24.1 前期准备 508 24.1.1 组织文件结构 508 24.1.2 导入Cairngorm框架 508
24.2 使用FlvModel类存储数据、状态及 24.2 资源 509 24.3 使用FlvControl类监听事件 510 24.4 创建OpenVideoEvent事件 511 24.5 创建OpenVideoCommand命令 512 24.6 使用Utils类格式化时间 513 24.7 使用FlvPlayViewHelper类修改 24.7 MXML组件 514 24.8 编写“FlvPlay.mxml”主程序 516 24.8.1 设计外观模型 516 24.8.2 实现菜单功能 518 24.8.3 VideoDisplay组件说明 519 24.8.4 实现“播放/暂停”功能 521 24.8.5 实现“停止”功能 522 24.8.6 实现“静音”功能 522 24.8.7 实现“全屏/退出全屏”功能 522 24.8.8 拖曳滑动条改变播放进度 523 24.8.9 实现键盘快捷键功能 524 24.8.10 完成“FlvPlay.mxml”主程序的 24.8.10 剩余代码 525 24.9 小结 533 第 25章 经典实例CairngormStore 第 25章 的分析 534 25.1 CairngormStore实例简介 534 25.2 如何运行CairngormStore实例 535 25.2.1 架设Java运行平台 535 25.2.2 架设AMF网关LiveCycle Data 25.2.2 Services 539 25.2.3 编译运行前的准备 544 25.2.4 编译CairngormStore实例 545 25.3 CairngormStore实例的代码分析 547 25.3.1 使用ProductVO类建立商品 25.2.2 数据模型 547 25.3.2 使用ShoppingCartElement类 25.2.2 建立购物条目数据模型 549 25.3.3 使用ShoppingCart类建立 25.2.2 购物车数据模型 550
25.3.4 使用ShopModelLocator类 25.2.2 建立应用程序数据模型 552 25.3.5 使用ShopController类监听 25.2.2 事件 555 25.3.6 在ServiceLocator类中定义服务 557 25.3.7 创建自定义事件 559 25.3.8 创建自定义命令 560 25.3.9 视图外观分析 563 25.4 如何添加和调用新服务 567 25.5 小结 568 第 26章 视频分享网站 569 26.1 系统概述 569 26.1.1 系统架构 569 26.1.2 系统功能模块设计 569 26.2 系统设计 570 26.2.1 系统工作流程 571 26.2.2 功能模块的工作流程 571 26.3 数据库设计 574 26.3.1 数据库总体设计 574 26.3.2 数据表设计 574 26.3.3 使用查询分析器创建数据库 25.2.2 和数据表 576 26.4 配置开发环境 578 26.4.1 安装和升级SQL Server 2000 25.2.2 数据库 578 26.4.2 安装和配置JDBC 584 26.4.3 安装和配置Java开发平台 25.2.2 eclipse 585 26.4.4 其他注意事项 586 26.5 服务器端代码分析 587 26.5.1 服务器端代码概述 587 26.5.2 UserCompl类 588 26.5.3 VideoCompl类 591 26.5.4 CommentCompl类 597 26.5.5 其他类 600 26.6 接口设计代码分析 601 26.6.1 接口概述 602 26.6.2 remoting-config.xml分析 602 26.6.3 Services.mxml分析 603 26.7 应用程序的总体框架 604 26.8 主页显示模块 606 26.9 用户登录模块 609 26.10 播放视频模块 611 26.11 上传视频模块 613 26.12 用户管理模块 617 26.13 超级管理员管理模块 621 26.14 评论模块 623 26.15 外观样式分析 623 26.16 小结 626 附录 A 627
本文链接:http://www.blueidea.com/news/book/2008/5959.asp
出处:蓝色理想
责任编辑:bluehearts
|