目 录
第0章 绪论 1
0.1 RIA概述 1
0.2 Flex概述 2
0.2.1 Flex简介 2
0.2.2 Flex的工作原理 2
0.2.3 Flex与服务器端通信方式 3
0.3 Flex技术框架 5
0.3.1 ActionScript 5
0.3.2 MXML 5
0.3.3 Flex类库和运行时服务 6
0.4 Flex 4简介 6
0.4.1 命名空间的变化 7
0.4.2 新特效与三维支持 7
0.4.3 布局模型 8
0.4.4 本地文件操作 8
0.4.5 皮肤与样式表 8
0.4.6 双向数据绑定 9
0.5 Flex开发工具——Flash Builder 4 10
0.5.1 安装Flash Builder 4 10
0.5.2 创建第一个Flex程序 10
第一篇 ActionScript 3.0基础入门篇
第1章 ActionScript 3.0语法基础 14
1.1 Actionscript变量的作用域 14
1.1.1 问题描述 14
1.1.2 解决方法 14
1.1.3 知识扩展——声明变量 15
1.1.4 网络课堂 15
1.2 ActionScript有序变量怎么使用 15
1.2.1 问题描述 15
1.2.2 解决方法 15
1.2.3 知识扩展——使用变量 16
1.2.4 网络课堂 16
1.3 怎样在Actionscript中定义常量 16
1.3.1 问题描述 16
1.3.2 解决方法 17
1.3.3 知识扩展——声明常量 17
1.3.4 网络课堂 18
1.4 Flex中的数据类型问题 18
1.4.1 问题描述 18
1.4.2 解决方法 18
1.4.3 知识扩展——数据类型分类 18
1.4.4 网络课堂 19
1.5 值类型和引用类型的区别 19
1.5.1 问题描述 19
1.5.2 解决方法 19
1.5.3 知识扩展——基本数据类型 19
1.5.4 网络课堂 21
1.6 隐式类型转换问题 21
1.6.1 问题描述 21
1.6.2 解决方法 22
1.6.3 知识扩展——隐式类型转换 22
1.6.4 网络课堂 22
1.7 Number和String类型转换的问题 22
1.7.1 问题描述 22
1.7.2 解决方法 23
1.7.3 知识扩展——显式类型转换 23
1.7.4 网络课堂 26
1.8 关于数据类型检查问题 26
1.8.1 问题描述 26
1.8.2 解决方法 26
1.8.3 知识扩展——类型检查 27
1.8.4 网络课堂 29
1.9 运算符is和as的问题 30
1.9.1 问题描述 30
1.9.2 解决方法 30
1.9.3 知识扩展——is运算符 30
1.9.4 知识扩展——as运算符 31
1.9.5 网络课堂 31
1.10 关于运算符分类问题 31
1.10.1 问题描述 31
1.10.2 解决方法 31
1.10.3 知识扩展——运算符的分类 32
1.10.4 网络课堂 33
1.11 关于逻辑运算符和条件运算符的疑问 33
1.11.1 问题描述 33
1.11.2 解决方法 33
1.11.3 知识扩展——逻辑运算符 33
1.11.4 知识扩展——条件运算符 34
1.11.5 网络课堂 34
1.12 ActionScript中的+=是什么意思 35
1.12.1 问题描述 35
1.12.2 解决方法 35
1.12.3 知识扩展——赋值运算符 35
1.12.4 知识扩展——算术运算符 36
1.12.5 网络课堂 36
1.13 关系运算符==和<<问题 36
1.13.1 问题描述 36
1.13.2 解决方法 36
1.13.3 知识扩展——关系运算符 37
1.13.4 知识扩展——按位移位运算符 37
1.13.5 网络课堂 37
1.14 一元运算符和后缀运算符有什么不同 38
1.14.1 问题描述 38
1.14.2 解决方法 38
1.14.3 知识扩展——一元运算符 38
1.14.4 知识扩展———后缀运算符 38
1.14.5 网络课堂 39
1.15 括号运算符的疑问 39
1.15.1 问题描述 39
1.15.2 解决方法 39
1.15.3 知识扩展——主要运算符 40
1.15.4 网络课堂 40
1.16 关于运算符的优先级问题 40
1.16.1 问题描述 40
1.16.2 解决方法 40
1.16.3 知识扩展——运算符的优先级 41
1.16.4 网络课堂 42
第2章 ActionScript控制语句 43
2.1 if语句判断问题 43
2.1.1 问题描述 43
2.1.2 解决方法 43
2.1.3 知识扩展——if语句 44
2.1.4 知识扩展——if else语句 45
2.1.5 网络课堂 45
2.2 关于if语句的使用问题 46
2.2.1 问题描述 46
2.2.2 解决方法 46
2.2.3 知识扩展——if…else if…else
语句 46
2.2.4 网络课堂 48
2.3 if语句嵌套问题 48
2.3.1 问题描述 48
2.3.2 解决方法 49
2.3.3 知识扩展——嵌套if语句 49
2.3.4 网络课堂 51
2.4 switch语句问题 51
2.4.1 问题描述 51
2.4.2 解决方法 51
2.4.3 知识扩展——switch语句 52
2.4.4 网络课堂 52
2.5 关于switch语句的使用问题 53
2.5.1 问题描述 53
2.5.2 解决方法 54
2.5.3 知识扩展——使用switch语句 54
2.5.4 网络课堂 55
2.6 使用while循环查找数组中最小的值 55
2.6.1 问题描述 55
2.6.2 解决方法 55
2.6.3 知识扩展——while循环语句 56
2.6.4 网络课堂 56
2.7 关于do…while循环语句的问题 57
2.7.1 问题描述 57
2.7.2 解决方法 57
2.7.3 知识扩展——do…while
循环语句 57
2.7.4 网络课堂 58
2.8 运用for循环解决组合问题 58
2.8.1 问题描述 58
2.8.2 解决方法 59
2.8.3 知识扩展——for循环语句 59
2.8.4 网络课堂 60
2.9 for…in循环问题 60
2.9.1 问题描述 60
2.9.2 解决方法 60
2.9.3 知识扩展——for…in循环语句 61
2.9.4 网络课堂 61
2.10 一个关于for each…in循环的疑问 62
2.10.1 问题描述 62
2.10.2 解决方法 62
2.10.3 知识扩展——for each…in
循环语句 62
2.10.4 网络课堂 63
2.11 for循环嵌套问题 63
2.11.1 问题描述 63
2.11.2 解决方法 63
2.11.3 知识扩展——for嵌套 64
2.11.4 网络课堂 65
第3章 ActionScript函数 66
3.1 function函数一定要传值进去吗 66
3.1.1 问题描述 66
3.1.2 解决方法 66
3.1.3 知识扩展——定义函数 66
3.1.4 网络课堂 67
3.2 调用外部函数问题 68
3.2.1 问题描述 68
3.2.2 解决方法 68
3.2.3 知识扩展——调用函数 69
3.2.4 网络课堂 70
3.3 求助,怎样获得这个函数的返回值 70
3.3.1 问题描述 70
3.3.2 解决方法 70
3.3.3 知识扩展——函数返回值 71
3.3.4 网络课堂 71
3.4 关于函数作用域的问题 71
3.4.1 问题描述 71
3.4.2 解决方法 72
3.4.3 知识扩展——函数的作用域 72
3.4.4 网络课堂 73
3.5 按值和按引用传参的问题 73
3.5.1 问题描述 73
3.5.2 解决方法 74
3.5.3 知识扩展——按值传递参数 74
3.5.4 知识扩展——按引用传递参数 75
3.5.5 网络课堂 75
3.6 可不可以让函数中的参数具有默认值 75
3.6.1 问题描述 75
3.6.2 解决方法 76
3.6.3 知识扩展——默认参数值 76
3.6.4 网络课堂 77
3.7 arguments对象问题 77
3.7.1 问题描述 77
3.7.2 解决方法 77
3.7.3 知识扩展——arguments对象 77
3.7.4 网络课堂 79
3.8 关于…(rest)传参问题 79
3.8.1 问题描述 79
3.8.2 解决方法 79
3.8.3 知识扩展——…(rest)参数 80
3.8.4 网络课堂 81
3.9 怎么调用函数内的函数 81
3.9.1 问题描述 81
3.9.2 解决方法 81
3.9.3 知识扩展——函数嵌套 82
3.9.4 网络课堂 82
3.10 ActionScript递归函数问题 82
3.10.1 问题描述 82
3.10.2 解决方法 83
3.10.3 知识扩展——函数的递归 83
3.10.4 网络课堂 84
第4章 ActionScript面向对象 85
4.1 面向对象编程的一些困惑 85
4.1.1 问题描述 85
4.1.2 解决方法 85
4.1.3 知识扩展——面向对象编程
思想概述 85
4.1.4 网络课堂 86
4.2 关于ActionScript面向对象编程的问题 86
4.2.1 问题描述 86
4.2.2 解决方法 86
4.2.3 知识扩展——定义类 87
4.2.4 网络课堂 87
4.3 静态变量与非静态变量的区别 88
4.3.1 问题描述 88
4.3.2 解决方法 88
4.3.3 知识扩展——定义属性 88
4.3.4 网络课堂 89
4.4 ActionScript的访问修饰符有哪些 89
4.4.1 问题描述 89
4.4.2 解决方法 89
4.4.3 知识扩展——类成员修饰符 90
4.4.4 网络课堂 91
4.5 调用构造函数问题 92
4.5.1 问题描述 92
4.5.2 解决方法 92
4.5.3 知识扩展——构造函数 92
4.5.4 网络课堂 93
4.6 定义静态方法会不会影响系统性能 94
4.6.1 问题描述 94
4.6.2 解决方法 94
4.6.3 知识扩展——静态方法 94
4.6.4 网络课堂 95
4.7 关于实例方法的疑问 95
4.7.1 问题描述 95
4.7.2 解决方法 95
4.7.3 知识扩展——实例方法 95
4.7.4 网络课堂 96
4.8 如何使用get和set存取器方法 97
4.8.1 问题描述 97
4.8.2 解决方法 97
4.8.3 知识扩展——get和set
存取器方法 97
4.8.4 网络课堂 98
4.9 关于绑定方法的疑问 98
4.9.1 问题描述 98
4.9.2 解决方法 99
4.9.3 知识扩展——绑定方法 99
4.9.4 网络课堂 100
4.10 ActionScript中包的问题 100
4.10.1 问题描述 100
4.10.2 解决方法 100
4.10.3 知识扩展——包 100
4.10.4 网络课堂 103
4.11 ActionScript属性的继承问题 103
4.11.1 问题描述 103
4.11.2 解决方法 104
4.11.3 知识扩展——属性的继承 104
4.11.4 网络课堂 107
4.12 关于方法的继承与覆盖问题 107
4.12.1 问题描述 107
4.12.2 解决方法 107
4.12.3 知识扩展——方法的继承
和覆盖 108
4.12.4 网络课堂 109
第二篇 ActionScript数据操作篇
第5章 数组 110
5.1 Array数组问题 110
5.1.1 问题描述 110
5.1.2 解决方法 110
5.1.3 知识扩展——创建数组 110
5.1.4 网络课堂 111
5.2 ActionScript中的变量数组传递问题 111
5.2.1 问题描述 111
5.2.2 解决方法 112
5.2.3 知识扩展——数组赋值 112
5.2.4 网络课堂 112
5.3 请教数组访问运算符的不解之处 112
5.3.1 问题描述 112
5.3.2 解决方法 113
5.3.3 知识扩展——Array类的属性 113
5.3.4 网络课堂 113
5.4 如何添加数组元素 114
5.4.1 问题描述 114
5.4.2 解决方法 114
5.4.3 知识扩展——插入数组元素 114
5.4.4 网络课堂 115
5.5 ActionScript中删除数组元素问题 115
5.5.1 问题描述 115
5.5.2 解决方法 115
5.5.3 知识扩展——删除数组元素 116
5.5.4 网络课堂 117
5.6 访问数组元素出错 117
5.6.1 问题描述 117
5.6.2 解决方法 117
5.6.3 知识扩展——访问数组元素 118
5.6.4 网络课堂 119
5.7 ActionScript数组排序问题 119
5.7.1 问题描述 119
5.7.2 解决方法 119
5.7.3 知识扩展——排序数组 120
5.7.4 网络课堂 123
5.8 如何查询数组 123
5.8.1 问题描述 123
5.8.2 解决方法 123
5.8.3 知识扩展——查询数组 123
5.8.4 网络课堂 124
5.9 关联数组排序问题 124
5.9.1 问题描述 124
5.9.2 解决方法 125
5.9.3 知识扩展——关联数组 125
5.9.4 网络课堂 128
5.10 如何处理数组越界的异常 128
5.10.1 问题描述 128
5.10.2 解决方法 128
5.10.3 知识扩展——多维数组 128
5.10.4 网络课堂 130
第6章 字符串与正则表达式 131
6.1 字符串怎么表示 131
6.1.1 问题描述 131
6.1.2 解决方法 131
6.1.3 知识扩展——定义字符串 131
6.1.4 网络课堂 133
6.2 怎样连接字符串 133
6.2.1 问题描述 133
6.2.2 解决方法 133
6.2.3 知识扩展——字符串连接符 133
6.2.4 网络课堂 134
6.3 在比较两个字符串时可不可以不区分
大小写 134
6.3.1 问题描述 134
6.3.2 解决方法 134
6.3.3 知识扩展——比较字符串 135
6.3.4 网络课堂 135
6.4 字符串的替换问题 136
6.4.1 问题描述 136
6.4.2 解决方法 136
6.4.3 知识扩展——替换字符串 136
6.4.4 网络课堂 137
6.5 怎么截取字符串 137
6.5.1 问题描述 137
6.5.2 解决方法 138
6.5.3 知识扩展——截取字符串 138
6.5.4 网络课堂 139
6.6 怎样判断一个字符串是否包含在另一个
字符串中 139
6.6.1 问题描述 139
6.6.2 解决方法 139
6.6.3 知识扩展——检索字符串 139
6.6.4 网络课堂 140
6.7 关于统一字符串大小写的问题 140
6.7.1 问题描述 140
6.7.2 解决方法 141
6.7.3 知识扩展——字符串大小写
转换 141
6.7.4 网络课堂 141
6.8 如何获取字符串的长度 142
6.8.1 问题描述 142
6.8.2 解决方法 142
6.8.3 知识扩展——length属性和
字符串中的字符 142
6.8.4 网络课堂 144
6.9 正则表达式中的“[a-zA-Z]”是
什么意思 144
6.9.1 问题描述 144
6.9.2 解决方法 144
6.9.3 知识扩展——正则表达式语法 145
6.9.4 网络课堂 146
6.10 求一正则表达式,获取网址参数 146
6.10.1 问题描述 146
6.10.2 解决方法 146
6.10.3 知识扩展——定义正则
表达式 147
6.10.4 网络课堂 148
6.11 正则表达式中数据匹配问题 148
6.11.1 问题描述 148
6.11.2 解决方法 148
6.11.3 知识扩展——匹配数据 148
6.11.4 网络课堂 150
第7章 日期和时间处理 151
7.1 为什么不是预期的日期和时间 151
7.1.1 问题描述 151
7.1.2 解决方法 151
7.1.3 知识扩展——创建Date对象 152
7.1.4 网络课堂 153
7.2 Flex日期相减计算的困惑 153
7.2.1 问题描述 153
7.2.2 解决方法 154
7.2.3 知识扩展——计算时间差 154
7.2.4 网络课堂 155
7.3 关于日期加减问题的求助 155
7.3.1 问题描述 155
7.3.2 解决方法 155
7.3.3 知识扩展——日期运算 155
7.3.4 网络课堂 156
7.4 如何设置指定格式的日期显示方式 156
7.4.1 问题描述 156
7.4.2 解决方法 156
7.4.3 知识扩展——获取当前的
日期和时间 157
7.4.4 网络课堂 159
7.5 Flex中时间显示与本地不一致的问题 159
7.5.1 问题描述 159
7.5.2 解决方法 159
7.5.3 知识扩展——转换日期和
时间的时区 160
7.5.4 网络课堂 160
7.6 如何生成随机验证码 160
7.6.1 问题描述 160
7.6.2 解决方法 160
7.6.3 知识扩展——Math类 161
7.6.4 网络课堂 164
7.7 如何用Flex制作一个秒计时器 164
7.7.1 问题描述 164
7.7.2 解决方法 164
7.7.3 知识扩展——Timer类 165
7.7.4 网络课堂 166
7.8 怎么实现类似sleep()函数的功能 166
7.8.1 问题描述 166
7.8.2 解决方法 167
7.8.3 知识扩展——计时函数 167
7.8.4 网络课堂 168
第8章 XML处理 169
8.1 如何快速定义一个XML字符串 169
8.1.1 问题描述 169
8.1.2 解决方法 169
8.1.3 知识扩展——定义XML对象 170
8.1.4 网络课堂 170
8.2 能不能用字符串拼接的方式使用XML 170
8.2.1 问题描述 170
8.2.2 解决方法 170
8.2.3 知识扩展——使用构造函数构建XML对象 171
8.2.4 网络课堂 172
8.3 Flex读取远程XML中的数据 172
8.3.1 问题描述 172
8.3.2 解决方法 173
8.3.3 知识扩展——加载外部XML
文件 173
8.3.4 网络课堂 174
8.4 如何保持格式不变向XML中添加
内容 174
8.4.1 问题描述 174
8.4.2 解决方法 174
8.4.3 知识扩展——操作XML 175
8.4.4 网络课堂 177
8.5 如何解析XML字符串 178
8.5.1 问题描述 178
8.5.2 解决方法 178
8.5.3 知识扩展——访问XML子
节点 178
8.5.4 网络课堂 180
8.6 读取XML节点属性值问题 180
8.6.1 问题描述 180
8.6.2 解决方法 180
8.6.3 知识扩展——访问XML属性 181
8.6.4 网络课堂 182
8.7 如何查找符合条件的节点 182
8.7.1 问题描述 182
8.7.2 解决方法 182
8.7.3 知识扩展——查找XML节点 183
8.7.4 网络课堂 185
8.8 读取XML中内容的问题 185
8.8.1 问题描述 185
8.8.2 解决方法 186
8.8.3 知识扩展——遍历XML节点 186
8.8.4 网络课堂 187
8.9 如何将现有数据转换为XML格式 187
8.9.1 问题描述 187
8.9.2 解决方法 188
8.9.3 知识扩展——转换XML类型 188
8.9.4 网络课堂 189
第三篇 Flex组件编程篇
第9章 MXML组件 190
9.1 Flex 4中有关MXML的几个问题 190
9.1.1 问题描述 190
9.1.2 解决方法 190
9.1.3 知识扩展——MXML命名
规范 191
9.1.4 网络课堂 191
9.2 如何理解Flex 4中MXML应用程序
的第1行代码 192
9.2.1 问题描述 192
9.2.2 解决方法 192
9.2.3 知识扩展——MXML的构成 192
9.2.4 网络课堂 193
9.3 请教<s:Application>和<mx:Application>
区别是什么 193
9.3.1 问题描述 193
9.3.2 解决方法 193
9.3.3 知识扩展——<s:Application>
标记简介 193
9.3.4 网络课堂 194
9.4 Flex 4中s="library://ns.adobe.com/
flex/spark"表示么意思 194
9.4.1 问题描述 194
9.4.2 解决方法 195
9.4.3 知识扩展——Flex 4中的命名
空间 195
9.4.4 网络课堂 197
9.5 关于<fx:Declarations>标记的疑惑 197
9.5.1 问题描述 197
9.5.2 解决方法 197
9.5.3 知识扩展——<fx:Declarations>
标记简介 197
9.5.4 网络课堂 198
9.5 MXML和ActionScript能不能像PHP
和HTML一样嵌套使用 199
9.6.1 问题描述 199
9.6.2 解决方法 199
9.6.3 知识扩展——MXML与
ActionScript关系 199
9.6.4 网络课堂 200
9.7 如何将ActionScript写的组件用到
MXML文件里 200
9.7.1 问题描述 200
9.7.2 解决方法 201
9.7.3 知识扩展——MXML组件
继承关系 201
9.7.4 知识扩展——MXML整合ActionScript的方式 202
9.7.5 网络课堂 204
9.8 如何用ActionScript实现一个MXML
组件 205
9.8.1 问题描述 205
9.8.2 解决方法 205
9.8.3 知识扩展——Flex中MXML
组件分类 205
9.8.4 知识扩展——MXML组件大小 206
9.8.5 网络课堂 209
9.8 关于在Label中使用Layout出现错误
的问题 209
9.9.1 问题描述 209
9.9.2 解决方法 210
9.9.3 知识扩展——设置组件定位
方式 210
9.9.4 网络课堂 210
第10章 使用容器控制界面布局 211
10.1 Flex 4中组件前面的s:是什么意思 211
10.1.1 问题描述 211
10.1.2 解决方法 211
10.1.3 知识扩展——Flex 4的用户
界面结构 211
10.1.4 网络课堂 213
10.2 Flex 4中有没有ApplicationControlBar 213
10.2.1 问题描述 213
10.2.2 解决方法 213
10.2.3 知识扩展——controlBarContent
组件 213
10.2.4 网络课堂 216
10.3 请教HBox/VBox/ComboBox的区别 216
10.3.1 问题描述 216
10.3.2 解决方法 216
10.3.3 知识扩展——VGroup组件和HGroup组件 216
10.3.4 网络课堂 218
10.4 如何在两个容器中间加入分割条 218
10.4.1 问题描述 218
10.4.2 解决方法 218
10.4.3 知识扩展——HDividedBox
组件和VDividedBox组件 219
10.4.4 网络课堂 221
10.5 怎样去掉BorderContainer容器里面
图片的间隔 221
10.5.1 问题描述 221
10.5.2 解决方法 222
10.5.3 知识扩展——BorderContainer
组件 222
10.5.4 网络课堂 225
10.6 关于halo和spark中的Panel的样式
问题 225
10.6.1 问题描述 225
10.6.2 解决方法 225
10.6.3 知识扩展——Panel组件 226
10.6.4 网络课堂 229
10.7 怎样控制TitleWindow的显示位置 229
10.7.1 问题描述 229
10.7.2 解决方法 229
10.7.3 知识扩展——TitleWindow
组件 230
10.7.4 网络课堂 232
10.8 Form里面的内容如何居中 232
10.8.1 问题描述 232
10.8.2 解决方法 233
10.8.3 知识扩展——Form组件 233
10.8.4 网络课堂 236
10.9 如何使加载的模块100%最大化 236
10.9.1 问题描述 236
10.9.2 解决方法 236
10.9.3 知识扩展——ModuleLoader
组件 237
10.9.4 网络课堂 240
第11章 界面显示组件 241
11.1 使用Label还是RichText的问题 241
11.1.1 问题描述 241
11.1.2 解决方法 241
11.1.3 知识扩展——Flex文本类组件 241
11.1.4 知识扩展——Label组件 242
11.1.5 知识扩展——RichText组件 243
11.1.6 网络课堂 246
11.2 关于RichEditableText组件显示的
问题 246
11.2.1 问题描述 246
11.2.2 解决方法 246
11.2.3 知识扩展——RichEditableText
组件 246
11.2.4 网络课堂 249
11.3 如何动态改变TextInput组件的背
景色 250
11.3.1 问题描述 250
11.3.2 解决方法 250
11.3.3 知识扩展——TextInput组件 250
11.3.4 网络课堂 252
11.4 Flex 4的TextArea有没有htmlText
属性 252
11.4.1 问题描述 252
11.4.2 解决方法 252
11.4.3 知识扩展——TextArea组件 253
11.4.4 网络课堂 255
11.5 设置Spark Button组件的强调色 255
11.5.1 问题描述 255
11.5.2 解决方法 255
11.5.3 知识扩展——按钮类组件 255
11.5.4 网络课堂 258
11.6 如何动态添加多个CheckBox组件 258
11.6.1 问题描述 258
11.6.2 解决方法 258
11.6.3 知识扩展——CheckBox组件 259
11.6.4 网络课堂 261
11.7 RadioButton组件怎么取消选中状态 261
11.7.1 问题描述 261
11.7.2 解决方法 261
11.7.3 知识扩展——RadioButton
组件 262
11.7.4 网络课堂 264
11.8 Image组件怎么才能非等比例拉伸
图片 264
11.8.1 问题描述 264
11.8.2 解决方法 265
11.8.3 知识扩展——Image组件 265
11.8.4 网络课堂 266
11.9 禁用DateField或DateChooser组件上的
任意日期 266
11.9.1 问题描述 266
11.9.2 解决方法 267
11.9.3 知识扩展——日期类组件 267
11.9.4 网络课堂 271
11.10 ComboBox响应事件的问题 271
11.10.1 问题描述 271
11.10.2 解决方法 272
11.10.3 知识扩展——列表类组件 272
11.10.4 网络课堂 276
11.11 List数据绑定和条目渲染的问题 276
11.11.1 问题描述 276
11.11.2 解决方法 277
11.11.3 知识扩展——List组件 279
11.11.4 网络课堂 282
11.12 Tree如何递归出当前节点下所有的父
节点 282
11.12.1 问题描述 282
11.12.2 解决方法 283
11.12.3 知识扩展——Tree组件 284
11.12.4 网络课堂 287
11.13 如何取消PopUpMenuButton中下拉选项
的默认label 287
11.13.1 问题描述 287
11.13.2 解决方法 288
11.13.3 知识扩展——PopUpButton
组件 289
11.13.4 知识扩展——PopUpMenuButton
组件 291
11.13.5 网络课堂 292
第12章 导航组件 293
12.1 如何让ViewStack与浏览器历史记录建
立关联 293
12.1.1 问题描述 293
12.1.2 解决方法 294
12.1.3 知识扩展——ViewStack组件 295
12.1.4 网络课堂 298
12.2 设置Accordion组件样式的问题 298
12.2.1 问题描述 298
12.2.2 解决方法 298
12.2.3 知识扩展——Accordion组件 299
12.2.4 网络课堂 302
12.3 怎样在Flex 4里面设置<s:ButtonBar>
的宽度 302
12.3.1 问题描述 302
12.3.2 解决方法 302
12.3.3 知识扩展——ButtonBar组件 303
12.3.4 网络课堂 304
12.4 如何修改LinkBar中链接单击之后的
颜色 304
12.4.1 问题描述 304
12.4.2 解决方法 305
12.4.3 知识扩展——LinkBar组件 305
12.4.4 网络课堂 307
12.5 关于MenuBar中顶级菜单的操作 307
12.5.1 问题描述 307
12.5.2 解决方法 307
12.5.3 知识扩展——MenuBar组件 308
12.5.4 网络课堂 311
12.6 如何让ToggleButtonBar中每个按钮
显示tooltip 311
12.6.1 问题描述 311
12.6.2 解决方法 311
12.6.3 知识扩展——ToggleButtonBar
组件 311
12.6.4 网络课堂 313
12.7 如何通过代码来切换TabBar 313
12.7.1 问题描述 313
12.7.2 解决方法 313
12.7.3 知识扩展——TabBar组件 314
12.7.4 网络课堂 315
12.8 如何判断TabNavigator中是否已有
某个Tab 316
12.8.1 问题描述 316
12.8.2 解决方法 316
12.8.3 知识扩展——TabNavigator
组件 317
12.8.4 网络课堂 319
第13章 设计Flex组件行为和状态 320
13.1 关于Flex中行为的疑惑 320
13.1.1 问题描述 320
13.1.2 解决方法 320
13.1.3 知识扩展——使用行为 321
13.1.4 网络课堂 324
13.2 mouseDownEffect属性可以赋哪些值 325
13.2.1 问题描述 325
13.2.2 解决方法 325
13.2.3 知识扩展——组件的行为
触发器和动画效果 325
13.2.4 网络课堂 326
13.3 如何在执行完zoom效果之后调用
另一函数 327
13.3.1 问题描述 327
13.3.2 解决方法 327
13.3.3 知识扩展——监听动画 327
13.3.4 网络课堂 330
13.4 Flex 3中的状态与Flex 4的比较 330
13.4.1 问题描述 330
13.4.2 解决方法 330
13.4.3 知识扩展——状态简介 331
13.4.4 知识扩展——创建状态 331
13.4.5 网络课堂 335
13.5 如何实现页面之间的跳转效果 336
13.5.1 问题描述 336
13.5.2 解决方法 337
13.5.3 知识扩展——为状态使用过渡
效果 338
13.5.4 网络课堂 340
第四篇 数据开发篇
第14章 数据绑定和格式化 341
14.1 Flex 4不能使用Model标签定义数据
模型 341
14.1.1 问题描述 341
14.1.2 解决方法 341
14.1.3 知识扩展——数据模型 341
14.1.4 网络课堂 343
14.2 TextInput组件数据绑定的问题 343
14.2.1 问题描述 343
14.2.2 解决方法 344
14.2.3 知识扩展——数据绑定机制 344
14.2.4 网络课堂 346
14.3 请教数据绑定的问题 346
14.3.1 问题描述 346
14.3.2 解决方法 346
14.3.3 知识扩展——使用{}绑定 346
14.3.4 网络课堂 348
14.4 为什么一直警告数据绑定将无法检测
对某某的指定 349
14.4.1 问题描述 349
14.4.2 解决方法 350
14.4.3 知识扩展——Bindable绑定 350
14.4.4 知识扩展——使用<fx:Binding>
组件绑定 353
14.4.5 网络课堂 354
14.5 为什么Bindable无法绑定 354
14.5.1 问题描述 354
14.5.2 解决方法 355
14.5.3 知识扩展——脚本绑定 355
14.5.4 网络课堂 357
14.6 PhoneFormatter格式化11位和12位电话
号码的问题 357
14.6.1 问题描述 357
14.6.2 解决方法 357
14.6.3 知识扩展——数据格式化组件
概述 359
14.6.4 触类旁通 366
14.6.5 网络课堂 367
第15章 数据显示组件 368
15.1 ArrayCollection绑定DataGrid问题 368
15.1.1 问题描述 368
15.1.2 解决方法 368
15.1.3 知识扩展——绑定内部数据 369
15.1.4 网络课堂 371
15.2 DataGrid如何绑定对象内的字段 371
15.2.1 问题描述 371
15.2.2 解决方法 372
15.2.3 知识扩展——绑定外部数据 372
15.2.4 网络课堂 374
15.3 如何改变DataGrid表格每行的高度 374
15.3.1 问题描述 374
15.3.2 解决方法 374
15.3.3 知识扩展——DataGrid属性 375
15.3.4 网络课堂 376
15.4 DataGrid怎么自动刷新数据 376
15.4.1 问题描述 376
15.4.2 解决方法 376
15.4.3 知识扩展——DataGrid方法 377
15.4.4 网络课堂 377
15.5 DataGrid显示带小数点列的问题 377
15.5.1 问题描述 377
15.5.2 解决方法 378
15.5.3 知识扩展——数据显示格式 378
15.5.4 网络课堂 380
15.6 如何使DataGrid表头居中,下面的
记录右对齐 380
15.6.1 问题描述 380
15.6.2 解决方法 380
15.6.3 知识扩展——设置DataGrid
组件样式 380
15.6.4 网络课堂 382
15.7 如何实现用一列显示JPG格式
小头像 382
15.7.1 问题描述 382
15.7.2 解决方法 382
15.7.3 知识扩展——itemRender
属性 383
15.7.4 网络课堂 385
15.8 DataGrid组件获取编辑后数据的
问题 385
15.8.1 问题描述 385
15.8.2 解决方法 385
15.8.3 知识扩展——获取行数据 386
15.8.4 知识扩展——修改单元格
数据 387
15.8.5 网络课堂 389
15.9 Repeater读取数组的问题 390
15.9.1 问题描述 390
15.9.2 解决方法 390
15.9.3 知识扩展——Repeater组件 391
15.9.4 网络课堂 392
第16章 与服务器端交互技术 393
16.1 Flex中的HTTPService使用问题 393
16.1.1 问题描述 393
16.1.2 解决方法 393
16.1.3 知识扩展——HTTPService类 393
16.1.4 知识扩展——HTTPService
组件 395
16.1.5 网络课堂 396
16.2 WebService读取asmx生成XML
的问题 396
16.2.1 问题描述 396
16.2.2 解决方法 397
16.2.3 知识扩展——WebService
组件 398
16.2.4 网络课堂 399
16.3 RemoteObject从MXML转换成
ActionScript时出错的问题 399
16.3.1 问题描述 399
16.3.2 解决方法 400
16.3.3 知识扩展——RemoteObject
组件 401
16.3.4 网络课堂 404
16.4 请教AMFPHP+PHP+MySQL出现
的乱码问题 404
16.4.1 问题描述 404
16.4.2 解决方法 404
16.4.3 知识扩展——AMFPHP 405
16.4.4 网络课堂 410
第五篇 高级开发篇
第17章 Flex事件机制 411
17.1 请教ActionScript 3中的事件机制 411
17.1.1 问题描述 411
17.1.2 解决方法 411
17.1.3 知识扩展——事件概述 412
17.1.4 知识扩展——事件流 412
17.1.5 知识扩展——事件处理模型 414
17.1.6 网络课堂 416
17.2 在Flex中怎么自动触发事件 416
17.2.1 问题描述 416
17.2.2 解决方法 416
17.2.3 知识扩展——Flex事件
启动顺序 416
17.2.4 网络课堂 418
17.3 在事件中如何判断事件的来源 418
17.3.1 问题描述 418
17.3.2 解决方法 418
17.3.3 知识扩展——Flex事件对象 419
17.3.4 网络课堂 421
17.4 如何理解事件监听和分发 421
17.4.1 问题描述 421
17.4.2 解决方法 421
17.4.3 知识扩展——监听事件 422
17.4.4 知识扩展——调度事件 422
17.4.5 网络课堂 424
17.5 如何一次删除对象上监听的所有
事件 424
17.5.1 问题描述 424
17.5.2 解决方法 425
17.5.3 知识扩展——删除事件
监听器 425
17.5.4 网络课堂 427
17.6 如何处理鼠标的拖动和单击事件 427
17.6.1 问题描述 427
17.6.2 解决方法 428
17.6.3 知识扩展——鼠标类 429
17.6.4 网络课堂 431
17.7 使用键盘事件时出现的问题 431
17.7.1 问题描述 431
17.7.2 解决方法 431
17.7.3 知识扩展——键盘类 431
17.7.4 网络课堂 433
17.8 请教关于自定义事件的问题 434
17.8.1 问题描述 434
17.8.2 解决方法 434
17.8.3 知识扩展——直接创建自定义
事件 435
17.8.4 知识扩展——通过类创建
自定义事件 435
17.8.5 网络课堂 438
第18章 Flex图表 439
18.1 有关Flex中图表显示的初学问题 439
18.1.1 问题描述 439
18.1.2 解决方法 439
18.1.3 知识扩展——图表组件简介 440
18.1.4 网络课堂 440
18.2 饼形图读取XML的数据不显示的
问题 441
18.2.1 问题描述 441
18.2.2 解决方法 441
18.2.3 知识扩展——PieChart组件 443
18.2.4 网络课堂 446
18.3 请教BarChart背景网格设置 446
18.3.1 问题描述 446
18.3.2 解决方法 448
18.3.3 知识扩展——BarChart组件 448
18.3.4 网络课堂 451
18.4 如何将图表的Y轴显示在右边 451
18.4.1 问题描述 451
18.4.2 解决方法 451
18.4.3 知识扩展——ColumnChart
组件 453
18.4.4 网络课堂 454
18.5 绘制Flex图表横坐轴标签重叠的
问题 455
18.5.1 问题描述 455
18.5.2 解决方法 457
18.5.3 知识扩展——AreaChart组件 458
18.5.4 网络课堂 460
18.6 如何设置Legend组件的字体大小和
样式 460
18.6.1 问题描述 460
18.6.2 解决方法 461
18.6.3 知识扩展——Legend组件 461
18.6.4 网络课堂 463
18.7 能否动态生成BubbleChart的series 463
18.7.1 问题描述 463
18.7.2 解决方法 463
18.7.3 知识扩展——BubbleChart
组件 464
18.7.4 网络课堂 465
18.8 如何在鼠标移到LineChart图表时显示
想要的内容 465
18.8.1 问题描述 465
18.8.2 解决方法 466
18.8.3 知识扩展——LineChart组件 466
18.8.4 网络课堂 468
18.9 PlotChart如何在显示的散点处加一个
标签 468
18.9.1 问题描述 468
18.9.2 解决方法 469
18.9.3 知识扩展——PlotChart组件 469
18.9.4 网络课堂 470
18.10 一连串数据如何转换成
CandlestickChart图表 470
18.10.1 问题描述 470
18.10.2 解决方法 471
18.10.3 知识扩展——CandlestickChart
组件 472
18.10.4 网络课堂 474
18.11 如何利用canDropLabels移除图表中
水平轴线上的标签 474
18.11.1 问题描述 474
18.11.2 解决方法 474
18.11.3 知识扩展——HLOCChart
组件 475
18.11.4 网络课堂 476
第六篇 实例开发篇
第19章 Flex相册 477
19.1 系统概述 477
19.2 数据库设计 478
19.3 搭建框架 479
19.3.1 PHP服务器端 479
19.3.2 创建客户端Flex项目 480
19.3.3 项目目录结构 481
19.4 公共模块 482
19.4.1 设计数据映射类 483
19.4.2 设计视图类 483
19.4.3 设计自定义事件类 484
19.4.4 设计实例模式类 485
19.4.5 设计控制器类 486
19.5 前台功能实现 487
19.5.1 查看所有图片 487
19.5.2 图片列表组件 490
19.5.3 查看图片大图组件 492
19.5.4 整合前台 493
19.6 后台功能实现 496
19.6.1 管理员登录 496
19.6.2 图片管理 499
19.6.3 上传图片 503
19.6.4 分类管理 507
19.6.5 整合后台 508