第1篇 概述篇 2
第1章 Flex概述 2
1.1 Flex简介 2
1.1.1 Flex是什么 2
1.1.2 Flex运行机制 2
1.1.3 Flex产品组成 4
1.2 Flex和Flash的关系 4
1.3 Flex与其他技术比较 5
1.3.1 HTML/JavaScript/Ajax 5
1.3.2 Java/Java FX 5
1.3.3 Silverlight/XAML 5
1.4 常见问题及解答 6
1.5 小结 6
1.6 习题 6
第2章 Flex的开发环境 7
2.1 Flex SDK的安装 7
2.1.1 下载和安装Adobe Flex SDK 7
2.1.2 编译代码 8
2.2 开发工具Flex Builder 3 9
2.2.1 安装Flex Builder 3 9
2.2.2 Flex Builder 3的界面 10
2.3 构建第一个Flex应用程序 11
2.3.1 创建Flex项目 12
2.3.2 创建组件和编写代码 12
2.3.3 编译和运行应用程序 14
2.4 各种常见的文件类型 15
2.4.1 项目组件化 15
2.4.2 项目模块化 16
2.4.3 项目模式化 17
2.5 上机实践 17
2.6 常见问题及解答 17
2.7 小结 17
2.8 习题 18
第2篇 语言基础篇第3章 MXML语法基础 20
3.1 MXML的构成 20
3.1.1 结构原理 20
3.1.2 书写规则 21
3.2 解析MXML的标签 21
3.3 命名空间 22
3.4 常见问题及解答 24
3.5 小结 24
3.6 习题 24
第4章 ActionScript 3.0语法基础 25
4.1 变量和常量 25
4.1.1 变量的声明和赋值 25
4.1.2 变量的作用域 26
4.1.3 声明常量 27
4.2 数据类型 27
4.2.1 基本数据类型 28
4.2.2 复合数据类型 28
4.2.3 数据类型检查 29
4.2.4 is运算符 29
4.2.5 as运算符 30
4.3 语句 30
4.3.1 if...else语句 30
4.3.2 if...else if语句 31
4.3.3 switch语句 32
4.3.4 for语句 34
4.3.5 for...in语句 35
4.3.6 for each...in语句 35
4.3.7 while语句 36
4.3.8 do...while语句 37
4.4 函数 38
4.4.1 定义函数 38
4.4.2 函数的返回值 38
4.4.3 函数的作用域 39
4.4.4 值参数 39
4.4.5 引用参数 39
4.4.6 默认参数 40
4.4.7 arguments对象参数 40
4.4.8 …(rest)参数 41
4.5 常见问题及解答 41
4.6 小结 41
4.7 习题 42
第5章 事件和事件机制 43
5.1 事件的概述 43
5.1.1 事件的侦听 43
5.1.2 Event类 44
5.2 定义事件 45
5.2.1 在MXML中定义事件 45
5.2.2 在ActionScript中定义事件 46
5.3 事件的类型 46
5.3.1 鼠标事件 46
5.3.2 键盘事件 48
5.3.3 时间事件 50
5.4 常见问题及解答 51
5.5 小结 51
5.6 习题 51
第3篇 交互设计篇第6章 文本设计 54
6.1 文本的显示 54
6.1.1 使用Label控件显示文本 54
6.1.2 使用Text控件的text属性显示文本 55
6.1.3 使用Text控件的htmlText属性显示文本 55
6.2 单行文本框的设计 56
6.2.1 使用TextInput控件设计文本框 56
6.2.2 动态定义文本框的内容 57
6.2.3 动态创建文本框 59
6.3 多行文本的设计 60
6.3.1 使用TextArea控件显示多行文本 60
6.3.2 在多行文本框中显示HTML文本 61
6.4 文本编辑器的设计 62
6.4.1 使用RichTextEditor控件创建一个文本编辑器 62
6.4.2 添加和移除文本编辑器的工具栏内容 62
6.5 获取选择的文本 64
6.5.1 获取文本框中选择的文本 64
6.5.2 获取文本编辑器中选择的文本 66
6.6 本章实例:HTML文本编辑器 67
6.7 上机实践 72
6.8 常见问题及解答 73
6.9 小结 73
6.10 习题 73
第7章 按钮设计 74
7.1 普通按钮的设计 74
7.1.1 使用Button控件设计按钮 74
7.1.2 按钮中嵌入图片 75
7.1.3 设置按钮样式 75
7.1.4 按钮事件 76
7.2 单选按钮的设计 77
7.2.1 使用RadioButton控件设计单选按钮 78
7.2.2 使用单选按钮组 78
7.2.3 一个简单的加减法计算器 80
7.3 复选框的设计 82
7.3.1 使用CheckBox控件设计复选框 82
7.3.2 使用ActionScript控制复选框 83
7.3.3 动态创建复选框 84
7.4 弹出式按钮的设计 87
7.4.1 创建PopUpButton控件 87
7.4.2 获取弹出式按钮菜单的内容 88
7.5 链接按钮的设计 90
7.5.1 创建LinkButton控件 90
7.5.2 设置样式 92
7.6 本章实例:简易计算器 92
7.7 上机实践 95
7.8 常见问题及解答 95
7.9 小结 96
7.10 习题 96
第8章 数据绑定 97
8.1 数据列表 97
8.1.1 使用List控件创建数据列表 97
8.1.2 使用ActionScript在List控件中绑定数据 98
8.1.3 获取List控件的数据 100
8.1.4 在数据中嵌入图片 102
8.2 横向数据列表 103
8.2.1 使用HorizontalList控件 104
8.2.2 自定义ItemRenderer属性 105
8.3 二维数据列表 106
8.3.1 使用TileList控件 107
8.3.2 获取TileList控件中的数据 109
8.4 下拉列表 110
8.4.1 使用ComBox控件 111
8.4.2 获取下拉列表中的数据 112
8.5 数据网格 113
8.5.1 使用DataGrid控件 113
8.5.2 定义DataGrid控件的列 115
8.5.3 获取DataGrid控件的数据 116
8.5.4 DataGrid控件的排序 117
8.6 树形式的呈现方式 120
8.6.1 使用Tree控件 121
8.6.2 获取Tree控件的数据项 122
8.7 本章实例:商品列表 123
8.8 上机实践 124
8.9 常见问题及解答 124
8.10 小结 125
8.11 习题 125
第9章 图表设计 126
9.1 图表组件概述 126
9.1.1 关于数据图表 126
9.1.2 使用图表控件 126
9.1.3 定义数据源 130
9.2 图表类型 133
9.2.1 区域型图表 133
9.2.2 条型图表 135
9.2.3 泡沫型图表 137
9.2.4 烛台型图表 138
9.2.5 线型图表 139
9.2.6 圆饼型图表 141
9.2.7 混合型图表 143
9.3 格式化图表 144
9.3.1 创建样式 144
9.3.2 设置间隔大小 146
9.4 本章实例:股票分析系统 148
9.5 上机实践 150
9.6 常见问题及解答 151
9.7 小结 151
9.8 习题 151
第10章 其他交互设计 152
10.1 数字选择器 152
10.1.1 创建NumericStepper控件 152
10.1.2 设置NumericStepper控件 153
10.1.3 构建一个复合型的日期控件 153
10.2 日期显示 155
10.2.1 使用DateChooser控件实现日期选择 155
10.2.2 使用DateField控件实现日期选择 156
10.2.3 使用日期类 156
10.2.4 设置DateField控件的日期格式 158
10.2.5 设置DateChooser控件的中文显示 159
10.3 加载外部SWF文件 160
10.3.1 创建SWFLoader控件 160
10.3.2 与已加载的SWF文件交互 162
10.4 加载图像 168
10.4.1 创建Image控件 168
10.4.2 加载图像 169
10.5 颜色选择器 170
10.5.1 创建ColorPicker控件 170
10.5.2 自定义面板显示的颜色 171
10.5.3 自定义面板显示的标签 172
10.6 警告框的设计 173
10.6.1 创建警告框 173
10.6.2 警告框的事件 174
10.6.3 自定义警告框的按钮标签 175
10.6.4 设置提示框的文本大小 176
10.6.5 设置提示框的图标 177
10.7 进度条的设计 178
10.7.1 创建ProgressBar控件 178
10.7.2 设置进度条的标签 179
10.8 本章实例:日程管理 181
10.9 上机实践 184
10.10 常见问题及解答 184
10.11 小结 184
10.12 习题 184
第4篇 布局和导航第11章 定位和布局 186
11.1 Canvas容器 186
11.2 使用Box布局容器 187
11.2.1 使用Box容器 187
11.2.2 使用HBox和VBox容器实现横向或纵向的布局 188
11.3 使用DividedBox容器布局 190
11.3.1 创建DividedBox容器 190
11.3.2 使用HDividedBox和VDividedBox容器实现可调控的布局 192
11.4 表单布局 195
11.4.1 创建表单 195
11.4.2 设置间隔 196
11.4.3 表单验证 197
11.5 网格定位 199
11.5.1 使用网格定位 199
11.5.2 网格容器之间的嵌套 200
11.6 Tile布局 201
11.6.1 使用Tile布局 201
11.6.2 设置Tile布局 202
11.7 使用面板 203
11.7.1 创建Panel容器 203
11.7.2 添加ControlBar控件 204
11.8 弹出窗口 205
11.8.1 创建TitleWindow容器 205
11.8.2 向弹出的窗口传递数据 206
11.9 本章实例:通讯录 208
11.10 上机实践 212
11.11 常见问题及解答 212
11.12 小结 213
11.13 习题 213
第12章 导航 214
12.1 ViewStack导航设计 214
12.1.1 创建ViewStack容器 214
12.2.2 实现不同子容器之间的传值 216
12.2 标签导航设计 218
12.2.1 使用TabNavigator导航容器 218
12.2.2 动态添加TAB标签 219
12.3 折叠导航设计 221
12.4 本章实例:名片管理系统 222
12.5 上机实践 226
12.6 常见问题及解答 226
12.7 小结 227
12.8 习题 227
第13章 菜单设计 228
13.1 上下文菜单的设计 228
13.1.1 使用Menu控件创建菜单 228
13.1.2 添加Menu控件菜单事件 230
13.2 菜单条的设计 232
13.2.1 使用MenuBar控件创建菜单 233
13.2.2 添加菜单条菜单事件 233
13.3 弹出式按钮菜单的设计 236
13.3.1 使用PopUpMenuButton控件创建菜单 236
13.3.2 添加弹出式按钮菜单事件 237
13.4 本章实例:多窗口文档编辑器 238
13.5 上机实践 240
13.6 常见问题及解答 240
13.7 小结 241
13.8 习题 241
第5篇 行为和样式第14章 行为和特效 244
14.1 使用行为 244
14.1.1 行为简介 244
14.1.2 在ActionScript中使用行为 245
14.2 拖放行为特效 247
14.2.1 容器之间移动数据 247
14.2.2 容器之间复制数据 248
14.2.3 手动添加拖放功能 250
14.3 使用View States 251
14.3.1 使用View States改变局部视图 251
14.3.2 View States之间的继承关系 252
14.3.3 使用比较运算符 253
14.4 过渡特效Transitions 254
14.5 使用ToolTip 256
14.5.1 使用ToolTip属性 256
14.5.2 设置ToolTip样式 256
14.5.3 使用ToolTip管理器 257
14.5.4 创建一个自定义的ToolTip 258
14.6 本章实例:用户登录系统 259
14.7 上机实践 260
14.8 常见问题及解答 261
14.9 小结 261
14.10 习题 261
第15章 样式和主题 262
15.1 使用样式 262
15.1.1 使用Style组件定义样式 262
15.1.2 使用StyleManager类定义样式 263
15.1.3 外部样式表 264
15.2 使用字体 265
15.2.1 使用系统字体 265
15.2.2 使用嵌入式字体 266
15.3 指针管理器 267
15.4 本章实例:使用Flex主题 269
15.5 上机实践 271
15.6 常见问题及解答 271
15.7 小结 271
15.8 习题 271
第6篇 数据通信 274
第16章 HTTPService和Web Service 274
16.1 使用HTTPService 274
16.1.1 读取数据 274
16.1.2 提交数据 276
16.2 使用Web Service 279
16.2.1 使用MXML代码访问Web服务 279
16.2.2 使用ActionScript访问Web服务 283
16.3 本章实例:在线翻译 284
16.4 上机实践 287
16.5 常见问题及解答 288
16.6 小结 288
16.7 习题 288
第17章 Flex Ajax桥 289
17.1 Ajax简介 289
17.1.1 Ajax的定义 289
17.1.2 Ajax的使用 289
17.1.3 与传统的Web应用比较 290
17.1.4 发展史 290
17.1.5 优点和缺点 291
17.1.6 Ajax的工作原理 291
17.2 使用FABridge 292
17.2.1 FABridge简介 292
17.2.2 使用FABridge 292
17.3 本章实例:相册 295
17.4 上机实践 296
17.5 常见问题及解答 297
17.6 小结 297
17.7 习题 297
第18章 Flex与ColdFusion 298
18.1 ColdFusion简介 298
18.2 使用ColdFusion 298
18.2.1 安装ColdFusion 299
18.2.2 创建第一个Flex和ColdFusion通信程序 303
18.3 本章实例:留言本(ColdFusion版) 306
18.4 上机实践 309
18.5 常见问题及解答 309
18.6 小结 309
18.7 习题 310
第19章 Flex与PHP 311
19.1 PHP简介 311
19.1.1 PHP脚本语言 311
19.1.2 使用PHP 311
19.2 使用AMFPHP 312
19.2.1 AMFPHP简介 312
19.2.2 访问PHP应用程序 313
19.3 本章实例:留言本(PHP版) 315
19.4 上机实践 319
19.5 常见问题及解答 320
19.6 小结 320
19.7 习题 320
第20章 Flex与.NET 321
20.1 .NET简介 321
20.1.1 .NET框架 321
20.1.2 ASP.NET应用程序 321
20.2 使用FluorineFX 323
20.2.1 安装FluorineFx 323
20.2.2 使用FluorineFx创建应用程序 325
20.3 本章实例:留言本(.NET版) 329
20.4 上机实践 330
20.5 常见问题及解答 331
20.6 小结 331
20.7 习题 331
第21章 Flex与Java 332
21.1 Java简介 332
21.1.1 Java语言 332
21.1.2 Java语言的特点 333
21.2 开源项目BlazeDS 334
21.2.1 安装和配置BlazeDS 334
21.2.2 使用BlazeDS 335
21.3 本章实例:留言本(Java版) 339
21.4 上机实践 339
21.5 常见问题及解答 340
21.6 小结 340
21.7 习题 340
第7篇 扩展篇 342
第22章 PureMVC框架 342
22.1 PureMVC模式简介 342
22.1.1 MVC模式 342
22.1.2 PureMVC结构 343
22.2 控制中心——Facade类 343
22.2.1 Facade类 344
22.2.2 创建Facade子类 344
22.3 通信机制 346
22.3.1 通信机制概述 346
22.3.2 事件(Event)处理 346
22.4 逻辑命令处理——Command类 347
22.4.1 Command类 347
22.4.2 创建Command子类 347
22.5 视图控制——Mediator类 351
22.5.1 Mediator类 351
22.5.2 创建Mediator子类 351
22.6 数据模型代理——Proxy类 357
22.6.1 Proxy类 358
22.6.2 创建Proxy子类 358
22.7 本章实例:用户角色管理 362
22.8 上机实践 376
22.9 常见问题及解答 376
22.10 小结 376
22.11 习题 377
第23章 创建AIR程序 378
23.1 AIR简介 378
23.1.1 AIR平台概述 378
23.1.2 使用Flex创建第一个AIR程序 378
23.2 窗体 379
23.2.1 窗体简介 380
23.2.2 窗体事件 380
23.3 菜单 382
23.3.1 系统菜单 382
23.3.2 右键菜单 384
23.3.3 托盘菜单 385
23.4 本地SQL数据库 386
23.4.1 创建和打开数据库 386
23.4.2 创建数据表 388
23.4.3 插入数据 389
23.4.4 读取数据 391
23.5 本章实例:RSS阅读器 392
23.6 上机实践 393
23.7 常见问题及解答 394
23.8 小结 394
23.9 习题 395
第8篇 实例篇 398
第24章 使用Flex创建MP3播放器 398
24.1 总体和界面设计 398
24.1.1 总体功能设计 398
24.1.2 总体框架设计 399
24.1.3 播放进度设计 401
24.1.4 播放控制界面设计 402
24.1.5 歌曲列表设计 402
24.2 歌曲列表功能设计 403
24.2.1 创建数据和对象模型 403
24.2.2 读取歌曲列表 405
24.2.3 显示歌曲列表 406
24.3 播放控制功能设计 408
24.3.1 播放控制 408
24.3.2 暂停控制 410
24.3.3 停止控制 412
24.3.4 歌曲切换 414
24.4 显示进度功能设计 416
24.5 音量控制功能设计 417
24.5.1 音量控制 417
24.5.2 静音控制 419
24.6 小结 419