第1章 进入Flex 4大门 1
1.1 Flex 4简介 1
1.1.1 RIA概述 1
1.1.2 Flex概述 2
1.1.3 Flex 4的组成元素 3
1.2 Flex 4开发环境介绍 4
1.2.1 Flex 4 SDK介绍 4
1.2.2 Flash Builder 4的下载与安装 6
1.2.3 Flash Builder 4开发环境介绍 8
1.3 MXML语言简介 12
1.3.1 MXML概述 12
1.3.2 MXML基本语法 13
1.3.3 MXML语法要求 13
1.3.4 MXML基本结构 14
1.4一个简单的Flex应用实例 16
1.4.1新建Flex项目 16
1.4.2编写实例 17
1.4.3程序的运行与调试 20
第2章Flex 4脚本语言:ActionScript 3.0基础 21
2.1 ActionScript 3.0语言概述 21
2.1.1 ActionScript 3.0简介 21
2.1.2在Flex中应用ActionScript 22
2.1.3使用ActionScript控制MXML标签 25
2.2基本语言元素 26
2.2.1语法规则 26
2.2.2数据类型 28
2.2.3变量和常量 31
2.2.4类型转换 34
2.3运算符和表达式 35
2.3.1表达式 35
2.3.2运算符 36
2.3.3算术运算符 36
2.3.4逻辑运算符 37
2.3.5比较运算符 37
2.3.6条件运算符 38
2.3.7位运算符 38
2.3.8赋值运算符 39
2.3.9其他运算符 39
2.4流程控制 39
2.4.1条件控制语句 40
2.4.2循环控制语句 43
2.4.3流程控制符 46
2.4.4应用实例:回答多项选择题 47
2.5函数 48
2.5.1函数的定义 49
2.5.2函数的参数 50
2.5.3函数的作用域 52
2.5.4函数的返回值 52
2.5.5函数的调用 53
2.5.6递归函数 53
2.5.7全局函数 54
2.5.8应用实例:设计一个计算器程序 56
2.6面向对象编程 58
2.6.1面向对象程序设计基本概念 58
2.6.2类的定义 59
2.6.3类的实例化和访问 60
2.6.4类的访问控制 61
2.6.5静态属性和方法 61
2.6.6构造函数和析构函数 62
2.6.7 getter和setter方法 63
2.6.8类的继承 64
2.6.9接口 67
2.6.10包和命名空间 69
2.6.11应用实例:计算图形面积 72
第3章Flex 4脚本语言:ActionScript 3.0语言进阶 78
3.1数学运算 78
3.1.1求绝对值 78
3.1.2求最大最小值 78
3.1.3角度计算 79
3.1.4舍入操作 79
3.1.5生成随机数 80
3.1.6其他数学运算 81
3.1.7应用实例:猜数字 81
3.2数组操作 82
3.2.1创建数组 83
3.2.2查询数组 84
3.2.3添加数组元素 85
3.2.4删除数组元素 86
3.2.5数组排序 86
3.2.6创建关联数组 90
3.2.7其他数组操作 91
3.2.8数组集合 92
3.2.9应用实例:数组排序 94
3.3字符串操作 95
3.3.1字符串赋值 95
3.3.2连接字符串 96
3.3.3计算字符串长度 97
3.3.4大小写转换 97
3.3.5字符串裁剪 98
3.3.6字符串比较 98
3.3.7获取子字符串 99
3.3.8字符串查找 100
3.3.9字符串替换 101
3.3.10其他对象转换为字符串 101
3.3.11应用实例:统计字数 102
3.4正则表达式 103
3.4.1正则表达式基础 103
3.4.2正则表达式语法 104
3.4.3创建正则表达式 107
3.4.4使用正则表达式 108
3.4.5应用实例:验证表单 110
3.5日期和时间 112
3.5.1创建日期和时间 112
3.5.2获取时间单位 113
3.5.3设置日期和时间 115
3.5.4计时器 116
3.5.5应用实例:时钟程序 118
3.6 XML操作 120
3.6.1 XML概述 120
3.6.2创建XML对象 121
3.6.3 XML对象元素操作 123
3.6.4加载外部XML文档 128
3.6.5 XMLList类 130
3.6.6 XMLList集合 131
3.6.7应用实例:读取XML数据 132
第4章Flex 4系统组件:基本组件 135
4.1 Flex 4组件简介 135
4.1.1 Flex 4组件概述 135
4.1.2 Flex 4组件的特点 136
4.1.3使用组件的方法 136
4.1.4组件的大小与定位 137
4.2 Flex 4常用可视化组件 140
4.2.1文本组件 141
4.2.2按钮组件 144
4.2.3警告组件 155
4.2.4菜单组件 157
4.2.5下拉框组件 161
4.2.6图像组件 162
4.2.7列表组件 164
4.2.8数据表格组件 169
4.2.9日期组件 171
4.2.10进度条组件 174
4.3其他可视化组件 176
4.3.1颜色选择器组件 176
4.3.2直线组件 177
4.3.3选项卡组件 178
4.3.4滚动条组件 179
4.3.5滑动条组件 180
4.3.6多媒体组件 182
4.4应用实例:学生信息录入 184
第5章Flex 4系统组件:容器 188
5.1 Flex 4容器简介 188
5.1.1容器分类 188
5.1.2应用容器 189
5.1.3容器的布局 189
5.2布局容器 194
5.2.1面板容器 194
5.2.2数据分组容器 195
5.2.3分组容器 197
5.2.4分离盒容器 199
5.2.5表单容器 200
5.2.6格栅容器 203
5.2.7标题窗口容器 206
5.3导航容器 209
5.3.1视图堆栈导航容器 209
5.3.2列表导航容器 211
5.3.3折叠导航容器 212
5.4应用实例:分类选项卡 214
第6章Flex 4数据处理:数据验证与格式化 218
6.1 Flex 4数据验证 218
6.1.1数字验证 219
6.1.2货币验证 221
6.1.3电话号码验证 222
6.1.4字符串验证 223
6.1.5邮政编码验证 223
6.1.6日期验证 223
6.1.7电子邮件地址验证 224
6.1.8信用卡验证 226
6.1.9正则表达式验证 228
6.2 Flex 4数据格式化 230
6.2.1数字格式化 230
6.2.2货币格式化 232
6.2.3电话号码格式化 232
6.2.4邮政编码格式化 233
6.2.5日期格式化 233
6.2.6自定义格式化 236
6.3应用实例:用户注册验证 238
第7章Flex 4数据处理:数据模型与数据绑定 241
7.1数据模型 241
7.1.1使用MXML标签定义数据模型 242
7.1.2使用XML定义数据模型 243
7.1.3使用ActionScript类定义数据模型 244
7.2数据绑定 245
7.2.1使用大括号{}实现数据绑定 246
7.2.2使用<fx:Binding>标签实现数据绑定 247
7.2.3在ActionScript类中使用Bindable元数据标签实现数据绑定 248
7.3应用实例:学生信息显示 249
第8章Flex 4组件:事件 254
8.1基本事件处理 254
8.1.1 Flex事件概述 254
8.1.2事件处理 255
8.1.3使用Event对象 257
8.2事件流机制 259
8.2.1事件流概述 259
8.2.2事件流传播 259
8.3常用事件 263
8.3.1基本交互事件 263
8.3.2鼠标事件 264
8.3.3键盘事件 266
8.4自定义事件 267
8.4.1创建自定义事件 267
8.4.2使用自定义事件 269
8.5应用实例:写字板 270
第9章Flex 4系统组件:图表 276
9.1图表简介 276
9.1.1 Flex 4图表类型 276
9.1.2 Flex 4图表组件的组成 277
9.2创建图表 279
9.2.1基本格式 279
9.2.2面积图 281
9.2.3条形图和柱状图 286
9.2.4折线图 290
9.2.5饼图 292
9.2.6散点图 295
9.2.7气泡图 296
9.2.8蜡烛图和HLOC图 298
9.3图表效果 302
9.3.1移动图形 302
9.3.2滑动系列 305
9.3.3聚合数据 305
9.4应用实例:月支出饼图 307
第10章Flex 4组件内处理:行为和过渡 310
10.1行为 310
10.1.1行为概述 310
10.1.2 Flex效果触发器 311
10.1.3应用行为 312
10.1.4行为效果组件 316
10.2视图和过渡 332
10.2.1视图和过渡概述 333
10.2.2定义和使用视图状态 333
10.2.3使用过渡 337
10.2.4在过渡中使用的行为效果 339
10.3应用实例:切换功能模块 342
第11章Flex 4组件间处理:拖放 344
11.1拖放行为概述 344
11.1.1拖放过程 344
11.1.2拖放事件 345
11.1.3支持拖放的组件 346
11.2在列表类组件中使用拖放 347
11.2.1基本拖放 347
11.2.2双向拖放 348
11.3对非列表类组件使用拖放 350
11.31实现拖放 350
11.3.2设置拖放代理 353
11.3.3处理放置与退出 354
11.4应用实例:购物篮 357
第12章Flex 4自定义组件 361
12.1自定义组件简介 361
12.1.1自定义组件概述 361
12.1.2创建自定义组件的基本步骤 362
12.2自定义组件开发 362
12.2.1使用MXML建立自定义组件 363
12.2.2使用ActionScript类建立自定义组件 365
12.2.3添加自定义属性 369
12.2.4添加自定义事件 372
12.3应用实例:自定义登录组件 374
第13章Flex 4组件:自定义外观 379
13.1样式 379
13.1.1 Flex CSS简介 379
13.1.2使用MXML设置样式 385
13.1.3使用ActionScript设置样式 388
13.1.4样式的继承与叠加 390
13.1.5主题的使用 391
13.2皮肤 393
13.2.1 Flex 4皮肤概述 394
13.2.2自定义皮肤 394
13.2.3应用皮肤 398
13.3应用实例:设置背景图片 399
第14章Flex共享对象和打印功能 403
14.1 Flex 4数据处理:共享对象 403
14.1.1 Flex共享对象简介 403
14.1.2 SharedObject类 404
14.1.3创建共享对象 405
14.1.4添加数据 405
14.1.5读取共享对象 406
14.1.6应用实例:保存学生信息 407
14.2 Flex 4组件:打印功能 410
14.2.1 Flex打印功能简介 410
14.2.2实现Flex打印功能 411
14.2.3在不可见容器中使用 PrintDataGrid类 412
14.2.4打印自定义组件 415
14.2.5调整缩放比例 417
第15章Flex 4扩展:实时通信 419
15.1 Flex 4实时通信简介 419
15.1.1实时通信概述 419
15.1.2 RTMFP协议概述 419
15.1.3流媒体服务器概述 420
15.2 Flash Media Server服务器 421
15.2.1 Flash Media Server服务器概述 421
15.2.2服务器的下载与安装 422
15.2.3开发环境的配置 425
15.3应用实例:Flex视频聊天 427
15.3.1连接服务器 427
15.3.2 NetStream类 429
15.3.3视频发送 432
15.3.4视频接收 435
第16章Flex 4扩展:AIR桌面应用程序 438
16.1 AIR简介 438
16.1.1 AIR概述 438
16.1.2 Flex AIR运行时的下载与安装 439
16.2第一个Flex AIR桌面应用程序 439
16.2.1创建应用程序 440
16.2.2打包应用程序 442
16.2.3安装应用程序 444
16.3 AIR应用程序的配置 445
16.3.1创建描述文件 445
16.3.2使用AIR组件 448
16.4操作本地数据库 455
16.4.1关于本地SQL数据库 456
16.4.2连接数据库 458
16.4.3执行SQL语句 458
16.5应用实例:图书信息录入——AIR应用 461
第17章Flex 4扩展:FABridge技术开发 465
17.1在Flex 4应用程序中使用Ajax技术 465
17.1.1 Ajax技术简介 465
17.1.2在Flex中调用Ajax函数 466
17.2使用FABridge技术控制Flex应用程序 467
17.2.1 FABridge技术概述 468
17.2.2创建Ajax Bridge 468
17.2.3 FABridge技术的使用 470
17.3应用实例:使用JavaScript控制Flex图表 475
第18章Flex 4扩展:Socket通信 481
18.1 Socket简介 481
18.1.1 Socket概述 481
18.1.2 Socket工作原理 482
18.1.3建立Socket 483
18.2 Flex 4中进行Socket通信 484
18.2.1 Socket类 485
18.2.2 XMLSocket类 487
18.3应用实例:网络聊天室 488
第19章Flex 4 Web开发 508
19.1 Flex 4 Web开发简介 508
19.1.1 Web应用原理 508
19.1.2 Flex与服务器的数据交互 509
19.1.3 AMF与RPC协议概述 510
19.2 Flex 4低数据量通信应用 511
19.2.1使用HTTPService组件 511
19.2.2使用HTTPService组件与ASP程序交互 518
19.2.3使用WebService组件 520
19.2.4调用Java服务器端的WebService服务 523
19.2.5使用URLLoader组件 530
19.2.6使用FileReference组件 535
19.3基于Java平台的AMF-RPC实现 541
19.3.1 LCDS和BlazeDS简介 541
19.3.2 LCDS和BlazeDS的安装与配置 541
19.3.3使用 RemoteObject组件 543
19.3.4实现AMF-RPC 544
19.4基于PHP平台的AMF-RPC实现 547
19.4.1 PHP开发环境的搭建 547
19.4.2访问PHP应用程序 550
19.4.3操作MySQL数据库——PHP留言本程序 556
19.5基于ASP.NET平台的AMF-RPC实现 562
19.5.1 ASP.NET简介 562
19.5.2使用FluorineFx 563
19.5.3访问ASP. NET程序 566
19.5.4操作SQL Server数据库——用户登录系统 569
19.6应用实例:学生管理系统 576
第20章Flex 4扩展:MVC框架应用 599
20.1 Flex MVC简介 599
20.1.1 MVC概述 599
20.1.2 Flex MVC框架概述 600
20.2 Cairngorm框架技术 601
20.2.1 Cairngorm框架概述 601
20.2.2在Flex 4中添加Cairngorm框架 603
20.2.3 Cairngorm框架的基础类 604
20.3应用实例:学生管理系统Cairngorm框架应用 608
附录A Flex应用程序调试 614
A.1 Flex程序调试简介 614
A.2使用Flash Builder 4调试Flex程序 615
A.3 <mx:TraceTarget>标签 617
A.4 Flex异常处理 620
A.4 1错误类 620
A.4 2异常处理方法 623
附录B Flex 4相对于Flex 3常用组件变动表 628