版權資訊
書 名: Flex從入門到精通
作 者:聶曉霞
出版時間: 2008
ISBN: 9787302183051
開本: 16
定價: 59.80 元
編輯推薦
《Flex從入門到精通》適合於廣大的網站開發人員、Flex技術初學者及大專院校的學生,也可供網頁製作愛好者及社會培訓學員參考學習。
目錄
第1篇Flex3.0基礎篇
第1章Flex概述3
1.1RIA概述4
1.2Flex概觀4
1.2.1Flex套用技術4
1.2.2Flex組成元素6
1.2.3Flex技術與傳統網頁技術的對比7
1.2.4Flex的工作原理8
第2章FlexBuilder介紹11
2.1配置FlexBuilder開發環境12
2.1.1下載並安裝FlexBuilder312
2.1.2運行FlexBuilder314
2.2FlexBuilder簡介14
2.3FlexBuilder模式(perspective)15
2.3.1FlexBuilder開發模式中的代碼視圖15
2.3.2FlexBuilder中的代碼提示幫助16
2.3.3FlexBuilder開發模式中的設計視圖17
2.3.4FlexBuilder調試(Debug)模式18
2.3.5編譯應用程式20
2.3.6運行和調試應用程式21
2.3.7其他信息21
2.4學習使用文本編輯器(Editor)21
2.5學習建立第一個應用程式“HelloWorld!”22
2.5.1建立第一個應用程式“HelloWorld!”22
2.5.2FlexBuilder的生成檔案26
第2篇Flex編程基礎
第3章MXML編程29
3.1MXML概述30
3.1.1使用MXML的好處30
3.1.2一個簡單的MXML應用程式30
3.2MXML標籤和ActionScript類之間的相互關係31
3.3MXML基本語法31
3.3.1MXML檔案名稱31
3.3.2設定組件的屬性31
3.3.3使用常數來設定組件的屬性值32
3.3.4使用斜線“\”來定義字元串屬性值32
3.3.5設定樣式屬性33
3.3.6定義URL值33
3.3.7使用編譯標籤33
3.3.8MXML標籤規則34
3.4MXML與其他相關的標準34
第4章ActionScript編程37
4.1ActionScript3.0概觀38
4.2ActionScript語言特點38
4.2.1字母(Literals)38
4.2.2分號(;)39
4.2.3括弧(())39
4.2.4註解(Comments)39
4.2.5關鍵字和保留詞(reservedwords)39
4.2.6大小寫敏感40
4.2.7點(.)40
4.3變數41
4.3.1了解變數作用範圍41
4.3.2變數默認值42
4.3.3常量(Constants)42
4.3.4數組43
4.4數據類型43
4.4.1類型檢查43
4.4.2is操作符44
4.4.3as操作符44
4.4.4類型轉換44
4.5語法:操作符(Operators)45
4.5.1操作符的優先權(precedence)和關聯(associativity)46
4.5.2原始操作符47
4.5.3後綴操作符47
4.5.4一元操作符47
4.5.5乘法操作符48
4.5.6加法操作符48
4.5.7位移操作符48
4.5.8關係操作符49
4.5.9等式操作符49
4.5.10位操作符49
4.5.11邏輯操作符50
4.5.12條件操作符50
4.5.13賦值操作符50
4.6ActionScript語句51
4.6.1條件語句(Conditionals)51
4.6.2循環語句(looping)53
4.7函式(Functions)55
4.7.1引用函式55
4.7.2函式聲明55
4.7.3函式文字55
4.7.4函式返回值56
4.7.5嵌套的函式56
4.7.6函式的參數57
4.8對象和類57
4.9包和命名空間58
4.9.1檔案包58
4.9.2建立檔案包59
4.9.3輸入檔案包59
4.9.4命名空間59
4.10如何在Flex中套用ActionScript60
4.10.1在MXML檔案中使用ActionScript代碼60
4.10.2包含(inculding)ActionScript代碼和輸入(importing)ActionScript代碼61
4.10.3在ActionScript代碼中引用Flex組件61
4.11創建ActionScript組件62
第5章Flex組件(Components)63
5.1組件簡介64
5.1.1組件的特點64
5.1.2組件的類繼承64
5.1.3在MXML和ActionScript中使用組件65
5.2組件的大小(SizingComponents)65
5.2.1定義組件大小的方式65
5.2.2如何使用組件默認值66
5.2.3設定組件絕對值大小66
5.2.4設定組件相對值大小67
5.2.5使用約束布局定義組件大小67
5.3組件的定位(PositioningComponents)68
5.3.1使用自動定位68
5.3.2使用絕對值定位69
5.3.3使用約束布局定位70
第6章Flex控制項(Controls)71
6.1控制項簡介(Controls)72
6.1.1直接控制項拖放72
6.1.2書寫代碼72
6.1.3實例演示73
6.1.4控制項的分類76
6.1.5定義控制項大小(SizingControls)77
6.1.6控制項定位(PositioningControls)79
6.2按鈕控制項(ButtonControl)79
6.2.1基本按鈕控制項概述80
6.2.2建立一個按鈕控制項示例80
6.2.3改變按鈕外觀82
6.3彈出按鈕控制項(PopUpButtonControl)83
6.3.1彈出按鈕控制項概述84
6.3.2建立一個彈出按鈕控制項示例84
6.4按鈕條和開關按鈕條控制項(ButtonBar
andToggleButtonBarControls)86
6.4.1按鈕條和開關按鈕條控制項概述87
6.4.2建立一個按鈕條控制項示例87
6.4.3建立一個開關按鈕條控制項示例89
6.5複選框控制項(CheckBoxControl)90
6.5.1複選框控制項概述90
6.5.2建立一個複選框控制項示例91
6.6單選按鈕控制項(RadioButtonControl)93
6.6.1單選按鈕控制項概述93
6.6.2建立一個單選按鈕控制項示例93
6.7連結按鈕控制項(LinkButtonControl)95
6.7.1連結按鈕控制項概述95
6.7.2建立一個連結按鈕控制項95
6.8連結條控制項(LinkBarControl)97
6.8.1連結條控制項概述97
6.8.2建立一個連結條控制項示例97
6.9標籤條控制項(TabBarControl)99
6.9.1標籤條控制項概述99
6.9.2建立一個標籤條控制項100
6.10進度條控制項(ProgressBarControl)101
6.10.1進度條控制項概述101
6.10.2進度條控制項模式101
6.10.3建立一個進度條控制項102
6.11滾動條控制項(ScrollBarControl)103
6.11.1滾動條控制項概述104
6.11.2建立一個垂直滾動條控制項示例104
6.12水平滑桿和垂直滑桿控制項(HSliderandVSliderControl)106
6.12.1水平滑桿和垂直滑桿控制項概述106
6.12.2建立一個水平滑桿示例107
6.13水平尺和垂直尺控制項(HRuleandVRuleControl)108
6.13.1水平尺和垂直尺控制項概述108
6.13.2建立一個水平尺和垂直尺控制項示例109
6.14標籤控制項(LabelControl)110
6.14.1標籤控制項概述110
6.14.2建立一個標籤控制項示例111
6.15文本條控制項(TextInputControl)111
6.15.1文本條控制項概述111
6.15.2建立一個文本條控制項示例112
6.16文本控制項(TextControl)113
6.16.1文本控制項概述113
6.16.2建立一個文本控制項示例113
6.17文本區域控制項(TextAreaControl)114
6.17.1文本區域控制項概述115
6.17.2建立一個文本區域控制項示例115
6.18富文本編輯器控制項(RichTextEditorControl)116
6.18.1富文本編輯器控制項概述116
6.18.2建立一個富文本編輯器控制項示例117
6.19選單控制項(MenuControl)118
6.19.1選單控制項概述118
6.19.2建立一個選單控制項示例119
6.20選單條控制項(MenuBarControl)121
6.20.1選單條控制項概述121
6.20.2建立一個選單條控制項示例122
6.21彈出選單按鈕控制項(PopUpMenuButtonControl)123
6.21.1彈出選單按鈕控制項概述123
6.21.2建立一個彈出選單按鈕控制項示例123
6.22列表控制項(ListControl)125
6.22.1列表控制項概述125
6.22.2建立一個列表控制項示例126
6.23水平列表控制項(HorizontalListControl)129
6.23.1水平列表控制項概述129
6.23.2建立一個水平列表控制項示例129
6.24排列列表控制項(TileListControl)131
6.24.1排列列表控制項概述131
6.24.2建立一個排列列表控制項示例132
6.25下拉列表控制項(ComboBoxControl)134
6.25.1下拉列表控制項概述135
6.25.2建立一個下拉列控制項示例135
6.26數據表格控制項(DataGridControl)137
6.26.1數據表格控制項概述137
6.26.2建立一個數據表格表控制項示例138
6.27樹結構控制項(TreeControl)140
6.27.1樹結構控制項概述140
6.27.2建立一個樹結構控制項示例141
6.28計數器控制項(NumbericStepperControl)142
6.28.1計數器控制項概述143
6.28.2建立一個計數器控制項示例143
6.29日期選擇器和日期條控制項(DateChooserandDateFieldControls)144
6.29.1日期選擇器控制項概述144
6.29.2建立一個日期選擇器控制項示例145
6.29.3日期條控制項概述146
6.29.4建立一個日期條控制項示例147
6.30圖像控制項(ImageControl)148
6.30.1圖像控制項概述148
6.30.2建立一個圖像控制項示例148
6.31SWF載入器控制項(SWFLoaderControl)149
6.31.1SWF載入器控制項概述149
6.31.2建立一個SWF載入器控制項示例150
6.32音像控制項(VideoDisplayControl)151
6.32.1音像控制項概述151
6.32.2建立一個音像顯示控制項示例151
6.33選色器控制項(ColorPickerControl)152
6.33.1選色器控制項概述152
6.33.2建立一個默認的選色器控制項示例153
6.33.3建立一個用戶自定義的選色器控制項示例154
6.34警告控制項(AlertControl)156
6.34.1警告控制項概述156
6.34.2建立一個警告控制項示例157
第3篇Flex設計篇
第7章基礎知識:容器(Container)161
7.1什麼是容器162
7.1.1容器簡介162
7.1.2Flex容器的定位方式162
7.1.3Flex的分類162
7.2套用容器(ApplicationContainer)163
7.2.1套用容器簡介163
7.2.2套用對象簡介164
7.3布局容器(LayoutContainer)165
7.3.1畫布布局容器(CanvasLayoutContainer)165
7.3.2盒子、水平盒子、垂直盒子布局容器(Box、HboxandVBoxLayoutContainer)167
7.3.3控制條布局容器(ControlBarLayoutContainer)169
7.3.4套用控制條布局容器(ApplicationControlBarLayoutContainer)170
7.3.5分離盒、水平分離盒、垂直分離盒容器(DividedBox,HdividedBoxandVDividedBox)172
7.3.6表單、表單頭、單元格布局容器(Form,FormHeadingandFormItemLayoutContainer)174
7.3.7格柵布局容器(GridLayoutContainer)180
7.3.8面板布局容器(PanelLayoutContainer)183
7.3.9排列模板布局容器(TileLayoutContainer)184
7.3.10標題視窗布局容器(TitleWindowLayoutContainer)186
7.4導航容器(NavigatorContainer)188
7.4.1視窗堆疊導航容器(ViewStackNavigatorContainer)188
7.4.2列表導航容器(TabNavigatorContainer)191
7.4.3摺疊導航容器(AccordionnavigatorContainer)193
第8章約束版面布局(Constraint-basedLayout)197
8.1約束版面布局(Constraint-basedLayout)概觀198
8.2插入和定位組件198
8.3定義約束定位的布局200
第9章行為控制(Behavior)203
9.1行為控制204
9.1.1行為控制效果204
9.1.2工廠類和實體類(FactoryandInstanceClasses)205
9.1.3Flex支持的效果206
9.1.4Flex的觸發器(triggers)211
9.2使用行為控制212
9.2.1在MXML中使用數據綁定來實現行為控制213
9.2.2在MXML中使用樣式來實現行為控制213
9.2.3使用setStyle()和getStyle()函式在MXML中定義的行為效果213
9.3在ActionScript中實現行為控制214
9.3.1倒序顯示控制項的行為效果216
9.3.2終止/暫停行為效果216
9.3.3建立一個可以重複使用的行為效果217
9.3.4在ActionScript使用樣式套用行為效果218
9.3.5使用Effect.target和Effect.targets屬性套用行為效果222
9.4行為效果技巧224
9.4.1設定行為效果存在的時間224
9.4.2使用嵌入的字型顯示行為效果225
9.4.3使用組合行為效果226
9.4.4使用動畫屬性(AnimateProperty)行為效果228
9.4.5重複(Repeating)行為效果229
9.4.6延遲(Delaying)行為效果的發生230
9.4.7使用遮罩(Mask)行為效果231
第10章樣式(Style)和主題(Theme)233
10.1樣式概觀234
10.1.1Flex使用樣式的方法234
10.1.2樣式的繼承特性234
10.2MXML使用樣式表單234
10.2.1使用外部的樣式表單檔案235
10.2.2使用本地的樣式定義236
10.2.3使用組件標籤內部屬性樣式239
10.3在ActionScript中使用樣式表單240
10.3.1使用StyleManager類240
10.3.2使用CSSStyleDeclaration類241
10.3.3使用getStyle()和setStyle()方法242
10.3.4在運行時使用樣式表單244
10.4樣式值的格式245
10.4.1長度(Length)格式245
10.4.2時間(Time)格式248
10.4.3顏色(Color)格式248
10.4.4使用數組定義樣式屬性249
10.5使用CascadingStyleSheets(CSS)樣式表單檔案252
10.5.1CSS概述252
10.5.2屬性和選擇器(selector)名稱252
10.5.3CSS中的繼承253
10.5.4Flex中的CSS253
10.5.5類選擇器(Classselector)253
10.5.6類型選擇器(Typeselector)254
10.5.7使用混合的選擇器256
10.5.8選擇器的優先權257
10.5.9所支持的CSS屬性259
10.5.10在樣式中嵌入數據源260
10.6樣式的繼承261
10.6.1樣式繼承順序261
10.6.2繼承異議(Exceptions)264
10.6.3支持的樣式264
10.6.4主題色彩屬性265
10.7主題概觀265
10.7.1使用主題266
10.7.2Flex包含的主題檔案266
10.7.3利用格式化檔案編譯主題swc件267
第11章皮膚(Skin)269
11.1皮膚的構成270
11.2建立圖形皮膚271
11.2.1使用setStyle()方法271
11.2.2使用CSS表單272
11.2.3使用標籤內部定義方法273
11.3建立程式皮膚274
11.4建立狀態皮膚275
11.5子組件的皮膚277
第12章條目渲染器(ItemRenderer)279
12.1條目渲染器概觀280
12.1.1默認的條目渲染器280
12.1.2用戶自定義的條目渲染器280
12.1.3條目渲染器的套用布局281
12.2建立用戶自定義條目渲染器281
12.2.1建立標籤內部(drop-in)條目渲染器和選項編輯器281
12.2.2建立程式內部的條目渲染器和選項編輯器285
12.2.3使用Flex組件檔案作為條目渲染器和選項編輯器289
12.2.4使用ActionScript類檔案作為條目渲染器292
第13章工具條提示(Tooltips)297
13.1工具條提示概觀298
13.2建立工具條提示298
13.2.1使用ToolTip屬性建立提示298
13.2.2子容器工具條提示顯示原則298
13.2.3提示信息的換行顯示300
13.2.4設定工具條提示的樣式301
13.2.5設定工具條提示的寬度302
13.2.6使用工具條提示事件303
13.3使用工具條提示管理(ToolTipManager)304
13.3.1激活和禁用工具條提示304
13.3.2延遲工具條提示時間305
13.3.3在工具條提示上使用行為效果307
13.3.4建立動態的工具條提示308
13.3.5建立用戶自定義工具條提示308
13.4使用錯誤信息的工具條提示310
13.5重寫工具條提示的皮膚312
第14章游標管理器(CursorManager)315
14.1使用CursorManager游標管理器316
14.2使用忙碌游標318
14.2.1設定忙碌游標318
14.2.2使用忙碌游標屬性320
14.2.3使用手形游標320
第15章Flex應用程式本地化(Localizing)321
15.1本地化概觀322
15.1.1資源包(ResourceBundle)和屬性檔案(PropertiesFile)322
15.1.2本地化工作流程322
15.2建立本地化應用程式323
第16章動態重複控制項和容器(Repeating)327
16.1動態重複控制項和容器(Repeating)簡介328
16.2建立重複控制項328
16.2.1建立基本靜態的重複控制項329
16.2.2建立動態循環的重複控制項332
16.3引用重複控制項333
16.3.1引用重複的子類控制項335
16.3.2引用嵌套的重複控制項335
16.3.3重複控制項的事件處理336
16.4使用用戶自定義MXML重複控制項337
16.5使用重複控制項的注意事項339
第17章視窗狀態(ViewStates)341
17.1視窗狀態概觀342
17.1.1簡單的登錄表格示例342
17.1.2使用視窗狀態控制布局344
17.1.3對比視窗狀態和導航346
17.2建立和使用視窗狀態346
17.2.1使用FlexBuilder中建立新的視窗狀態346
17.2.2在ActionScript代碼中建立新的視窗狀態349
17.3定義新的視窗狀態352
17.3.1重寫組件屬性352
17.3.2重寫組件樣式353
17.3.3增加和減少組件354
17.3.4在事件處理中設定重寫356
第18章過渡(Transition)359
18.1在登錄表格上使用過渡360
18.2定義過渡362
18.2.1定義多個過渡364
18.2.2定義效果目標365
18.2.3定義效果起始和終止值365
18.3在過渡中使用行為效果365
18.4過濾過渡(FilteringT)368
18.5使用過渡效果的提示370
第19章拖放行為(DragandDorp)371
19.1拖放行為概觀372
19.2在列表類控制項上使用拖放行為372
19.2.1實現基本的列表類控制項拖放行為372
19.2.2兩個方向的拖放行為374
19.2.3在同一個控制項上的拖放行為376
19.2.4列表類控制項的拖動放置屬性378
19.3人為添加拖放行為378
19.3.1用來定義拖放操作的類379
19.3.2手工拖放實現原理380
19.3.3手工拖放操作示例380
19.4拖放行為示例383
19.4.1使用容器作為放置目標示例384
19.4.2設定拖動代理385
19.4.3對放置目標的dragOver和dragExit事件進行管理387
19.5移動和複製數據391
19.5.1移動和複製391
19.5.2在列表控制項和數據列表控制項之間移動或複製數據391
19.5.3在非列表類控制項之間移動或複製數據394
第20章嵌入外部資源(EmbeddingAssets)399
20.1嵌入外部資源概觀400
20.2嵌入參數401
20.3嵌入資源類型402
第4篇Flex數據篇
第21章Flex與外部通信407
21.1獲得環境信息408
21.2傳遞數據到Flex應用程式410
21.3從Flex應用程式接觸外部JavaScript函式412
21.3.1使用ExternalInterfaceAPI獲得JavaScript412
21.3.2使用navigateToURL()方法獲得JavaScript415
21.4從JavaScript應用程式獲得Flex416
第22章共享對象(SharedObjects)419
22.1共享對象概觀420
22.2使用共享對象420
22.2.1在共享對象中增加數據和刪除共享對象421
22.2.2使用共享對象的示例421
第23章數據獲取和聯繫(DataAccessandInterconnectivity)427
23.1從Flex中獲得伺服器的數據428
23.1.1使用HTTPService組件428
23.1.2使用WebService組件430
23.1.3使用RemoteObject組件432
23.2表達數據(RepresentingData)437
23.3數據綁定(DataBinding)438
23.3.1數據綁定的3種方法439
23.3.2使用“{}”綁定數據到數據模型(DataModels)440
23.3.3綁定一個數據源到多個目標屬性441
23.3.4綁定多個數據源到一個目標屬性的示例442
23.3.5定義雙向的綁定示例442
23.3.6使用Bindable元數據標籤443
23.4數據存儲(DataStoring)444
23.4.1定義一個數據模型444
23.4.2在數據模型中使用數據確證445
23.4.3綁定數據到XML數據模型447
23.5數據確證(DataValidating)447
23.5.1事件觸發確證行為示例448
23.5.2程式觸發確證行為示例449
23.5.3激活和失活validator450
23.5.4確證必須的輸入項451
23.5.5使用數據綁定來定義validator452
23.6數據格式化(DataFormatting)453
23.6.1使用數據格式化453
23.6.2使用CurrencyFormatter類示例453
23.6.3使用NumberFormatter類示例454
23.6.4使用PhoneFormatter類示例455
23.6.5使用ZipCodeFormatter類示例456
23.6.6使用DateFormatter類示例457
第24章圖表組件
(ChartingComponents)461
24.1圖表組件概覽462
24.1.1使用圖表組件462
24.1.2序列類、坐標軸類和圖表事件463
24.2圖表組件概覽463
24.2.1面積圖表(AreaChart)示例463
24.2.2條形圖表(BarChart)示例466
24.2.3氣泡圖表(BubbleChart)示例468
24.2.4蠟燭圖表(CandlestickChart)示例473
24.2.5圓柱圖表(ColumnChart)示例475
24.2.6HighLowOpenClose圖表
(HighLowOpenCloseChart)示例477
24.2.7折線圖表(LineChart)示例478
24.2.8圓餅圖表(PieChart)示例480
24.2.9散點圖表(PlotChart)示例481
24.2.10使用多個數據序列示例483
第5篇Flex綜合實例篇
第25章查詢天氣系統——基於
cairngorm框架487
25.1Cairngorm框架概覽488
25.2查詢天氣系統分析489
25.2.1整體結構489
25.2.2數據來源489
25.2.3建立項目490
25.3值對象491
25.3.1查詢信息值對象QueryItemVO.as491
25.3.2城市信息值對象CityInfoVO.as492
25.4視圖代碼493
25.4.1查詢信息視圖QueryPanel.mxml493
25.4.2城市信息視圖
CityInfoPanel.mxml495
25.4.3天氣預報數據格柵視圖
WeatherResultPanel.mxml496
25.4.4溫度折線圖表視圖
WeatherResultChart.mxml499
25.5模型定位器代碼502
25.5.1模型定位器ModelLocator.as502
25.5.2模型變數類GetWeather.as503
25.6事件程式
GetWeatherByCityEvent.as504
25.7控制器程式GetWeatherBy
CityControl.as504
25.8命令程式
GetWeatherByCityCommand.as505
25.9服務層代碼507
25.9.1服務程式Services.mxml507
25.9.2服務委託程式ServicesDelegate.as508
25.10主程式
WeatherForeCastExample.mxml509
25.11運行和測試512
……