图书目录

目    录

第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