第1章 Flex概述 1
1.1 什么是Flex 1
1.2 Flex可运行于什么环境 1
1.3 Flex应用程序的开发语言 1
1.4 Flex与Flash的关系 2
第2章 Flex基础知识 3
2.1 配置Flex SDK开发环境 3
2.1.1 安装JDK 3
2.1.2 安装Flex SDK 3
2.1.3 配置系统环境变量 3
2.2 Flex Framework 4
2.2.1 Flex SDK的目录结构 4
2.2.2 Flex程序的生命周期 5
2.2.3 Flex在运行时和Flash Player的关系 5
2.2.4 编译Flex程序常用的指令 6
第3章 MXML 8
3.1 MXML文件的命名规则 8
3.2 第一个Flex应用程序:你好Flex 8
3.3 XML的编码 9
3.4 编译Flex程序 10
3.5 在MXML中使用ActionScript 10
3.5.1 使用〈mx:Script〉标签 10
3.5.2 包含外部的ActionScript文件 11
3.5.3 导入外部ActionScript的类文件 12
第4章 ActionScript基础 14
4.1 数据类型 14
4.2 变量 14
4.2.1 变量名的命名规则 14
4.2.2 变量的声明 15
4.2.3 变量的赋值 15
4.2.4 变量的作用范围 16
4.2.5 特殊的变量——常量 17
4.3 类与引用 17
4.3.1 类的概念和对象的概念 17
4.3.2 引用的概念 18
4.3.3 类的定义方式 18
4.4 包和命名空间 19
4.4.1 包 19
4.4.2 命名空间 20
4.5 语法规则 22
4.6 操作符 25
4.6.1 操作符的优先级 25
4.6.2 主操作符 26
4.6.3 一元操作符 28
4.6.4 乘除运算符和加减运算符 31
4.6.5 位移操作符 31
4.6.6 关系操作符 32
4.6.7 相等操作符 33
4.6.8 位逻辑运算符 35
4.6.9 逻辑操作符 35
4.6.10 三元条件运算符 36
4.6.11 赋值运算符 37
4.7 流程控制 37
4.7.1 条件语句 37
4.7.2 循环语句 40
4.7.3 label语句 44
4.7.4 break语句 44
4.7.5 continue语句 45
4.8 函数 47
4.8.1 函数的基本概念 47
4.8.2 函数的参数 49
4.8.3 函数对象 53
4.9 事件机制 53
4.9.1 事件机制介绍 53
4.9.2 事件机制举例 54
4.10 错误处理机制 54
4.10.1 同步错误处理机制 55
4.10.2 异步错误处理机制 58
4.10.3 自定义错误 58
4.11 使用XML 59
4.11.1 创建XML 59
4.11.2 操作XML 60
第5章 ActionScript的面向对象特性——类 61
5.1 类的定义方式 61
5.1.1 public修饰符 61
5.1.2 internal修饰符 61
5.1.3 dynamic修饰符 61
5.1.4 final修饰符 62
5.1.5 类定义修饰符的组合方式 62
5.2 类封装的属性和方法 62
5.2.1 属性定义的修饰符 62
5.2.2 方法定义的修饰符 63
5.2.3 方法 63
第6章 ActionScript的面向对象特性——接口 67
6.1 定义接口 67
6.2 接口内的方法声明 67
6.3 接口的实现 67
6.4 如何定义接口的内容 68
6.5 接口的多重实现 68
6.6 接口是不能被实例化的 69
第7章 ActionScript的面向对象特性——继承 70
7.1 如何实现继承 70
7.2 继承的内容 70
7.3 重载方法 71
7.3.1 何谓重载方法 71
7.3.2 重载方法的定义方式 72
7.3.3 super引用 73
7.3.4 final 75
7.4 多态 75
7.5 接口的继承 76
7.6 继承只能单一继承 77
第8章 ActionScript的面向对象特性——类型之间的关系 78
8.1 类型的概念 78
8.2 类型间的关系 78
8.2.1 拥有关系 78
8.2.2 是关系 78
8.3 typeof、instanceof、is、as操作符 79
8.3.1 typeof 79
8.3.2 instanceof 80
8.3.3 is 80
8.3.4 as 81
8.4 类型转换 82
8.4.1 上溯转换 82
8.4.2 下溯转换 82
8.4.3 使用API转换类型 83
第9章 Flex中的可视化组件 84
9.1.1 容器控件 85
9.1.2 通用控件 102
9.1.3 按钮控件 122
9.1.4 文本控件 129
9.1.5 日期控件 134
9.1.6 载入控件 136
9.1.7 菜单控件 142
9.1.8 重复控件——Repeater 148
第10章 效果 150
10.1.1 Blur 150
10.1.2 Dissolve 151
10.1.3 Fade 152
10.1.4 Glow 153
10.1.5 Iris 153
10.1.6 Move 154
10.1.7 Rotate 155
10.1.8 Zoom 155
10.1.9 WipeDown、WipeLeft、WipeRight和WipeUp 156
10.1.10 SoundEffect 157
10.1.11 Resize 158
10.1.12 Parallel 158
10.1.13 Sequence 159
10.1.14 AnimateProperty 160
10.1.15 Pause 160
10.1.16 效果播放的速率 161
10.1.17 Effect的filter属性 162
第11章 状态和过渡 163
11.1 状态 163
11.1.1 定义状态 163
11.1.2 应用状态 164
11.1.3 状态事件 168
11.2 过渡 169
11.2.1 使用过渡 169
11.2.2 应用于过渡顺序的效果 170
第12章 Flex中的数据 172
12.1 使用数据模型 172
12.1.1 以MXML方式定义数据模型 172
12.1.2 以ActionScript方式定义数据模型 173
12.2 数据绑定 174
12.2.1 {}方式 174
12.2.2 〈mx:Binding〉方式 175
12.2.3 BindingUtils方式 175
12.2.4 监听绑定属性变化的事件 176
12.2.5 自定制的绑定数据 177
12.2.6 深入绑定机制 178
12.3 验证数据 180
12.3.1 使用Flex内置的验证器 182
12.3.2 自定制验证器 186
12.4 格式化数据 187
12.4.1 使用Flex内置的格式化控件 187
12.4.2 自定制的格式化控件 190
第13章 定制用户界面 192
13.1 使用样式和显示过滤器 192
13.2 使用皮肤 200
13.2.1 图片重置的方式构造皮肤 201
13.2.2 编程的方式构造皮肤 201
13.3 使用主题 204
13.3.1 创建主题 204
13.3.2 应用主题 204
13.4 使用字体 204
13.4.1 系统字体 204
13.4.2 设备字体 205
13.4.3 嵌入字体 205
13.4.4 设定字符范围 208
13.5 自定制载入进度条 210
13.5.1 继承DownloadProgressBar 210
13.5.2 继承Sprite并且实现IPreloaderDisplay接口 212
第14章 使用提示和指针 215
14.1 使用提示 215
14.1.1 创建提示 215
14.1.2 使用ToolTipManager 218
14.1.3 自定制提示信息 219
14.1.4 使用错误提示 222
14.2 使用指针管理器 223
14.2.1 使用指针 223
14.2.2 使用忙碌指针 224
第15章 使用鼠标的拖曳功能 226
15.1 List、Tree和DataGrid控件默认的拖曳功能 226
15.2 通过编程方式实现的控件拖曳功能 229
第16章 客户端数据通信 232
16.1 使用LocalConnection进行本地通信 232
16.2 在客户端使用共享对象存储信息 234
16.3 Flex与浏览器的交互 236
16.3.1 从浏览器向Flex应用程序传递参数 236
16.3.2 Flex应用程序与浏览器脚本的交互 238
16.3.3 全局的navigateToURL方法 244
第17章 Flex中常用的元数据标签 249
17.1 ArrayElementType标签 249
17.2 Bindable标签 250
17.3 DefaultProperty标签 251
17.4 Embed标签 251
17.5 Event标签 253
17.6 Effect标签 254
17.7 IconFile标签 255
17.8 Inspectable标签 255
17.9 NonCommittingChangeEvent标签 256
17.10 RemoteClass标签 257
17.11 Style标签 258
第18章 Flex的其他常用功能 259
18.1 使用打印 259
18.1.1 构建简单打印程序 259
18.1.2 使用PrintDataGrid打印 261
18.1.3 设置打印多页 263
18.2 创建模块化程序 267
18.2.1 如何创建模块化程序 267
18.2.2 使用模块化程序的事件机制 269
18.3 本地化Flex应用程序 271
18.3.1 使用资源文本 272
18.3.2 使用资源类 274
18.4 使用历史管理器 277
18.4.1 支持历史管理器的组件 277
18.4.2 通过编程方式支持历史管理器 281
18.5 自定制基于列表控件的数据呈现方式和编辑方式 282
18.5.1 Drop-in方式实现的定制数据呈现方式和编辑方式 283
18.5.2 内嵌的数据呈现方式和编辑方式 284
18.5.3 自定制组件的数据呈现方式和编辑方式 287
18.5.4 编辑方式时发生的事件 291
第19章 ActionScript 3中的常用类型 294
19.1 日期和时间 294
19.1.1 日期类——Date 294
19.1.2 计时器类——Timer 296
19.2 操作字符串 297
19.2.1 创建字符串 297
19.2.2 确定字符串的长度 299
19.2.3 操作字符串内的字符 299
19.2.4 字符串的比较 300
19.2.5 转换字符串 300
19.2.6 连接字符串 301
19.2.7 查找字符串内的字符 302
19.2.8 字符串的大小写转换 304
19.3 数组 305
19.3.1 索引数组 305
19.3.2 联合数组 314
19.3.3 多维数组 318
19.3.4 数组的克隆 320
19.3.5 数组的继承 322
19.4 正则表达式 322
19.4.1 正则表达式介绍 322
19.4.2 正则表达式语法 323
19.4.3 应用正则表达式的方法 335
19.5 XML编程 335
19.5.1 XML的基本知识 335
19.5.2 XML对象 337
19.5.3 XMLList对象 340
19.5.4 初始化XML对象 341
19.5.5 组合XML数据 343
19.5.6 访问XML的数据内容 345
19.5.7 命名空间的操作 348
19.5.8 XML、XMLList和String类之间的转换 349
第20章 Flash Player的安全性 352
20.1 权限控制 353
20.1.1 系统管理员用户控制 353
20.1.2 指定用户控制 354
20.1.3 网络访问控制(策略文件) 355
20.1.4 编码控制 356
20.2 安全沙箱 356
20.2.1 远程沙箱 356
20.2.2 本地沙箱 356
20.3 限制网络访问的API 357
20.4 全屏模式的安全问题 358
20.5 关于LocalConnection的安全性 361
20.6 其他 362
附录 ActionScript内置的错误类型 363
参考文献 365