目 錄
第1篇 SWT起步篇
第1章 Java語言的GUI歷史 2
1.1 最初的AWT 2
1.2 Swing工具包 3
1.3 Eclipse的誕生 3
1.4 Eclipse貢獻SWT工具包 5
1.4.1 SWT的結構 6
1.4.2 SWT所支持的操作系統 6
1.5 Sun AWT/Swing與Eclipse SWT 7
1.5.1 Swing與SWT的比較 7
1.5.2 SWT的優(yōu)勢和不足 8
1.6 SWT與JFace、Eclipse 9
1.6.1 JFace是SWT的擴展 9
1.6.2 Eclipse的UI界面基于JFace 10
1.7 本章小結 10
第2章 配置SWT開發(fā)環(huán)境 11
2.1 下載和安裝Eclipse 11
2.1.1 Eclipse下載頁面介紹 11
2.1.2 下載Eclipse 12
2.1.3 安裝Eclipse語言包 14
2.1.4 在不同的語言中切換 15
2.2 直接獲取SWT工具包 16
2.3 下載和安裝Visual Editor 17
2.3.1 Visual Editor的下載 17
2.3.2 Visual Editor的安裝 18
2.4 第一個SWT程序 19
2.4.1 創(chuàng)建SWT程序 19
2.4.2 編譯和運行程序 20
2.5 本章小結 21
第3章 Eclipse開發(fā)環(huán)境概述 22
3.1 Eclipse界面一覽 22
3.2 Eclipse項目的文件結構 23
3.2.1 設置編譯后.class文件的保存目錄 23
3.2.2 導入項目使用的包 25
3.2.3 設置編譯方式 26
3.2.4 運行程序 27
3.3 常用的代碼編輯功能 28
3.3.1 添加注釋 28
3.3.2 自定義格式化代碼 28
3.3.3 自動生成getter和setter代碼 30
3.3.4 代碼的重構 31
3.3.5 查看源代碼 31
3.3.6 代碼的展開和折疊 32
3.3.7 代碼比較 33
3.3.8 子類中覆蓋父類的方法 34
3.4 代碼錯誤提示 34
3.4.1 如何定位錯誤 34
3.4.2 自動修正錯誤 35
3.5 文件查找 35
3.5.1 文件內部查找 35
3.5.2 項目內查找 36
3.6 使用快捷鍵 36
3.6.1 顯示快捷鍵說明 37
3.6.2 自定義快捷鍵 37
3.7 本章小結 38
第2篇 SWT進階篇
第4章 SWT開發(fā)基礎 40
4.1 SWT應用程序基本結構 40
4.2 Display類 42
4.2.1 Display類概述 42
4.2.2 Display類常用方法 42
4.3 Shell類 45
4.3.1 Shell類概述 45
4.3.2 不同窗口的樣式 46
4.3.3 應用多個樣式 47
4.3.4 Shell類的主要方法 47
4.3.5 創(chuàng)建多個窗口 49
4.4 SWT包類結構 51
4.5 本章小結 52
第5章 SWT基本組件 53
5.1 SWT控件類概述 53
5.1.1 窗口小部件:Widget 53
5.1.2 Widget的繼承關系 53
5.1.3 SWT中的子類 54
5.1.4 控件(Controls)與面板(Composites) 55
5.1.5 Widgets不是Controls 55
5.2 按鈕(Button) 58
5.2.1 普通按鈕(SWT.PUSH) 58
5.2.2 切換按鈕(SWT.TOGGLE) 59
5.2.3 箭頭按鈕(SWT.ARROW) 60
5.2.4 單選按鈕(SWT.RADIO) 60
5.2.5 多選按鈕(SWT.CHECK) 61
5.2.6 常用的方法 63
5.3 標簽(Label) 64
5.3.1 文本標簽 64
5.3.2 分割線標簽 64
5.3.3 自定義標簽(CLabel) 65
5.4 文本框(Text) 65
5.4.1 文本框的樣式 66
5.4.2 文本框程序示例 66
5.4.3 常用的方法 68
5.5 列表框(List) 69
5.5.1 列表框的樣式 69
5.5.2 列表框程序示例 70
5.5.3 常用的方法 73
5.6 組合框(Combo) 74
5.6.1 組合框的樣式 75
5.6.2 組合框程序示例 75
5.6.3 組合框的常用方法 77
5.6.4 自定義組合框CCombo類 77
5.7 本章小結 78
第6章 面板容器類 79
6.1 面板類(Composite) 79
6.1.1 面板類的樣式 79
6.1.2 面板類的常用方法 80
6.2 分組框(Group) 80
6.3 選項卡(TabFolder) 81
6.3.1 選項卡的基本構成 81
6.3.2 設置底部顯示選項卡 82
6.3.3 設置選項卡圖標 82
6.3.4 選項卡的常用方法 83
6.4 自定義選項卡(CTabFolder ) 83
6.4.1 帶有“關閉”按鈕的選項卡 84
6.4.2 帶有邊框的選項卡 85
6.4.3 顯示“最大化/最小化”按鈕 85
6.4.4 設置選項卡的顏色和背景圖片 85
6.4.5 仿Eclipse編輯區(qū)的選項卡 87
6.4.6 限制選項卡文字的長度 90
6.4.7 設置右上角控件 91
6.4.8 自定義選項的常用方法 91
6.5 分割窗框(SashForm) 92
6.5.1 分割窗框的樣式 92
6.5.2 設置窗框顯示的比例 93
6.5.3 設置窗框最大化所顯示的控件 93
6.6 自定義分割框(CBanner) 94
6.6.1 改變分割線的外觀 95
6.6.2 Eclipse中的CBanner 95
6.7 滾動面板(ScrolledComposite) 95
6.7.1 設置滾動條的樣式 96
6.7.2 滾動面板的其他方法 97
6.8 本章小結 97
第7章 SWT布局管理器 98
7.1 布局管理器概述 98
7.1.1 絕對定位 98
7.1.2 托管定位 98
7.1.3 常見的布局管理器 100
7.2 FillLayout(充滿式布局) 100
7.2.1 水平填充(默認)和垂直填充 101
7.2.2 設置四周補白 102
7.3 RowLayout(行列式布局) 102
7.3.1 設置折行顯示:wrap屬性 103
7.3.2 設置空間大小:pack屬性 103
7.3.3 設置填充方式:type屬性 103
7.3.4 設置是否充滿整行:justify屬性 104
7.3.5 設置補白和間隔 104
7.3.6 設置控件的大小RowData 105
7.3.7 設置是否等寬或等高:fill屬性 105
7.4 GridLayout(網格式布局) 106
7.4.1 設置網格的列數:numColumns屬性 106
7.4.2 設置網格等寬:makeColumnsEqualWidth屬性 107
7.4.3 設置補白和間隔 107
7.4.4 使用GridData對象 107
7.4.5 設置單元格對齊方式:horizontalAlignment和verticalAlignment屬性 108
7.4.6 設置縮進大?。篽orizontalIndent和verticalIndent屬性 109
7.4.7 設置單元格跨行和跨列顯示:horizontalSpan和verticalSpan屬性 109
7.4.8 設置單元格空間的搶占方式:grabExcessHorizontalSpace和
grabExcessVerticalSpace屬性 110
7.4.9 設置的控件大?。簃inimumWidth和minimumHeight屬性 111
7.4.10 設置控件大小:widthHint和heightHint屬性 111
7.4.11 樣式常量對照表 112
7.5 FormLayout(表格式布局) 112
7.5.1 設置補白和間隔 113
7.5.2 使用FormData對象 113
7.5.3 使用FormAttachment對象 114
7.5.4 設置控件的相對位置 115
7.6 StackLayout(堆棧式布局) 115
7.7 自定義布局管理器 117
7.7.1 布局的基本原理 117
7.7.2 布局計算的常用方法 118
7.7.3 自定義布局類(BorderLayout) 119
7.8 使用VE可視化布局 123
7.8.1 創(chuàng)建可視化的類 123
7.8.2 進行布局設置 124
7.9 本章小結 125
第8章 SWT中的事件模型 126
8.1 事件模型概述 126
8.1.1 監(jiān)聽器(Listener) 126
8.1.2 事件(Event) 127
8.1.3 注冊監(jiān)聽器 127
8.1.4 適配器 128
8.1.5 常見的事件 128
8.2 事件處理的常用寫法 130
8.2.1 內部匿名類 130
8.2.2 內部類 130
8.2.3 實現接口的類 131
8.2.4 繼承的類的方法 132
8.3 鍵盤事件 132
8.3.1 鍵盤事件程序示例 132
8.3.2 鍵盤事件的各種屬性 134
8.4 鼠標事件 136
8.4.1 鼠標事件程序示例 136
8.4.2 鼠標事件的各種屬性 139
8.5 其他常用的事件 139
8.5.1 選中事件 139
8.5.2 文本修改程序示例 140
8.5.3 文本修改事件:VerifyEvent的各種屬性 142
8.5.4 文本修改事件:VerifyEvent和ModifyEvent的區(qū)別 143
8.6 無類型的事件 144
8.6.1 注冊無類型事件監(jiān)聽器 144
8.6.2 無類型事件程序示例 145
8.7 本章小結 146
第3篇 SWT高級篇
第9章 SWT高級控件 148
9.1 鏈接文本(Link) 148
9.2 菜單(Menu和MenuItem) 149
9.2.1 菜單與菜單項之間的關系 150
9.2.2 菜單的樣式 151
9.2.3 菜單項的樣式 152
9.2.4 設置菜單項的圖標 152
9.2.5 設置菜單項快捷鍵 152
9.3 工具欄(ToolBar和ToolItem) 153
9.3.1 工具欄圖片資源的管理 155
9.3.2 工具欄的不同樣式 157
9.3.3 工具欄按鈕的不同樣式 158
9.3.4 工具欄常用的方法 160
9.4 可拖動的工具欄(CoolBar和CoolItem) 161
9.4.1 帶有下拉選項的工具欄 163
9.4.2 常用的方法 163
9.5 系統托盤(Tray和TrayItem) 164
9.6 滑動組件 167
9.6.1 滑塊(Slider) 167
9.6.2 刻度條(Scale) 168
9.6.3 微調按鈕(Spinner) 168
9.7 進度條(ProgressBar) 169
9.8 對話框 170
9.8.1 消息提示框(MessageBox) 171
9.8.2 文件目錄對話框(DirectoryDialog) 172
9.8.3 文件對話框(FileDialog) 173
9.8.4 顏色對話框(ColorDialog) 175
9.8.5 字體對話框(FontDialog) 176
9.8.6 打印對話框(PrintDialog) 177
9.9 表格(Table、TableItem和TableColumn) 178
9.9.1 Table、TableItem和TableColumn的關系 182
9.9.2 設置帶有選擇框的表格 182
9.9.3 設置可同時選中多行表格 183
9.9.4 可拖動的表格 184
9.9.5 設置單元格的圖標 184
9.9.6 改變選中行高亮顯示的顏色 185
9.9.7 帶有上下文菜單的表格 186
9.9.8 可編輯的表格(TableEditor) 187
9.9.9 用鍵盤控制表格(TableCursor) 189
9.9.10 帶有進度條的表格 191
9.9.11 表格小結 192
9.10 樹(Tree) 192
9.10.1 不同樣式的樹 193
9.10.2 為樹添加圖標 193
9.10.3 可編輯的樹 196
9.10.4 表格樹 197
9.10.5 樹小結 198
9.11 格式化文本(StyleText) 198
9.11.1 格式化對象(StyleRange) 199
9.11.2 格式化文本的事件處理 200
9.11.3 對選中文本設置格式 201
9.11.4 自動為數字字符著色 203
9.11.5 換行自動設置背景顏色 204
9.12 瀏覽器 205
9.13 本章小結 210
第10章 SWT中的拖放支持 211
10.1 可拖放的樹 211
10.2 拖放原理概述 214
10.3 拖放源(DragSource) 215
10.3.1 創(chuàng)建拖放源對象 215
10.3.2 定義拖放源數據傳輸類型 215
10.3.3 處理拖放源事件 216
10.4 拖放目標(DragTarget) 218
10.4.1 定義目標對象 218
10.4.2 定義目標對象的數據傳輸類型 219
10.4.3 處理拖放目標事件 219
10.5 傳輸數據(Transfer) 221
10.6 綜合示例:簡單購物車 222
10.7 對剪貼板的操作 226
10.8 本章小結 229
第11章 SWT線程 230
11.1 線程概述 230
11.1.1 什么是線程 230
11.1.2 創(chuàng)建線程的兩種方式 231
11.2 SWT中的UI線程 234
11.3 其他線程訪問UI線程 234
11.4 改進的進度條 236
11.5 多線程程序設計 238
11.6 本章小結 243
第12章 SWT系統資源 244
12.1 系統資源概述 244
12.1.1 什么是系統資源 244
12.1.2 釋放資源的原則 245
12.1.3 訪問資源的原則 246
12.1.4 何時釋放資源 246
12.2 顏色(Color) 247
12.2.1 系統顏色 248
12.2.2 RGB顏色 249
12.3 字體(Font) 250
12.4 光標(Cursor) 251
12.5 圖像(Image) 252
12.5.1 畫布類(Canvas) 252
12.5.2 圖像類(Image) 254
12.5.3 圖像數據類(ImageData) 255
12.5.4 保存圖像類(ImageLoader) 256
12.5.5 Eclipse的圖標 256
12.6 SWT繪圖 257
12.6.1 使用繪制對象的方法 257
12.6.2 繪制線條 258
12.6.3 繪制字符 259
12.6.4 繪制填充圖形 260
12.6.5 繪制圖像 261
12.7 本章小結 261
第13章 SWT的高級應用 262
13.1 打印支持 262
13.1.1 打印類(Printer)和打印數據類(PrinterData) 262
13.1.2 打印程序示例概述 265
13.1.3 打印程序示例:主窗口程序 265
13.1.4 打印程序示例:打開文件程序 268
13.1.5 打印程序示例:設置字體和顏色程序 268
13.1.6 打印程序示例:打印文本的程序 269
13.1.7 打印程序示例:打印文件后的效果預覽 273
13.2 使用應用程序 274
13.3 對AWT/Swing程序的支持 275
13.4 OLE和ActiveX控件的支持 275
13.4.1 OLE控件的面板類(OleFrame) 276
13.4.2 OLE控件類(OleClientSite和OleControlSite) 277
13.4.3 OLE 程序示例 278
13.5 Pocket PC應用 280
13.6 Web應用SWT 282
13.7 本章小結 282
第4篇 JFace篇
第14章 JFace概述 284
14.1 配置JFace運行環(huán)境 284
14.2 第一個JFace程序 285
14.3 JFace框架概述 287
14.4 JFace的包結構 287
14.5 本章小結 289
第15章 應用程序窗口 290
15.1 JFace的窗口類(Window類) 290
15.2 應用程序窗口ApplicationWindow類 292
15.3 帶有菜單欄的主程序窗口 293
15.3.1 簡單寫字板程序示例 293
15.3.2 添加菜單欄的基本步驟 297
15.3.3 創(chuàng)建菜單項 297
15.3.4 菜單項的事件處理 298
15.4 帶有工具欄的主程序窗口 299
15.5 帶有狀態(tài)欄的主程序窗口 300
15.6 其他處理事件的方法 304
15.6.1 “新建”操作 304
15.6.2 “保存”操作 305
15.6.3 “另存為”操作 306
15.6.4 “復制”、“剪切”和“粘貼”操作 307
15.7 本章小結 310
第16章 JFace對話框 311
16.1 JFace對話框概述 311
16.2 信息提示對話框(MessageDialog) 312
16.2.1 創(chuàng)建信息提示對話框 312
16.2.2 錯誤消息對話框 314
16.2.3 確認消息對話框 315
16.2.4 消息對話框 315
16.2.5 詢問對話框 316
16.2.6 警告對話框 316
16.2.7 JFace的本地化 317
16.3 輸入對話框(InputDialog) 318
16.3.1 創(chuàng)建輸入對話框 319
16.3.2 創(chuàng)建輸入文本的驗證類 320
16.4 帶有提示信息的對話框(TitleAreaDialog) 321
16.5 錯誤提示對話框(ErrorDialog) 325
16.5.1 創(chuàng)建錯誤提示對話框 325
16.5.2 使用錯誤狀態(tài)對象 327
16.5.3 同時顯示多個錯誤信息 327
16.6 帶有進度條的對話框(ProgressMonitorDialog) 329
16.7 自定義對話框 330
16.7.1 自定義對話框程序示例 331
16.7.2 自定義對話框的步驟 333
16.8 本章小結 334
第17章 向導式對話框 335
17.1 向導式對話框概述 335
17.1.1 向導式對話框所涉及的類 335
17.1.2 向導式對話框的常用方法 336
17.2 簡單的向導式對話框示例 338
17.2.1 第一個問題向導頁面 338
17.2.2 第二個問題向導頁面 339
17.2.3 感謝向導頁面 340
17.2.4 創(chuàng)建向導 341
17.2.5 創(chuàng)建測試程序 342
17.3 保存對話框狀態(tài) 344
17.4 復雜的向導式對話框示例 345
17.4.1 自定義向導頁面 346
17.4.2 為向導添加幫助 349
17.5 向導式對話框的事件處理 350
17.6 本章小結 350
第18章 首選項 351
18.1 首選項概述 351
18.2 保存首選項的設置 353
18.2.1 首選項值的設置和獲取 353
18.2.2 保存首選項所涉及的事件 354
18.3 顯示首選項頁面 354
18.3.1 創(chuàng)建一個首選項頁面 354
18.3.2 創(chuàng)建首選項頁面所對應的節(jié)點 357
18.3.3 顯示首選項對話框 358
18.4 創(chuàng)建樹型的導航菜單 360
18.4.1 第一種方法 361
18.4.2 第二種方法 361
18.5 首選項的選項設置 361
18.5.1 字段編輯器概述 362
18.5.2 使用字段編輯器基本步驟 362
18.5.3 布爾型字段編輯器(BooleanFieldEditor) 364
18.5.4 顏色字段編輯器(ColorFieldEditor) 364
18.5.5 字體字段編輯器(FontFieldEditor) 364
18.5.6 路徑列表字段編輯器(PathEditor) 365
18.5.7 單選分組字段編輯器(RadioGroupFieldEditor) 365
18.5.8 刻度條字段編輯器(ScaleFieldEditor) 366
18.5.9 整數型字段編輯器(IntegerFieldEditor) 366
18.5.10 選擇路徑字段編輯器(DirectoryFieldEditor) 366
18.5.11 選擇文件字段編輯器(FileFieldEditor) 366
18.6 自定義首選項頁面 367
18.7 首選項的事件處理 368
18.8 本章小結 369
第19章 MVC的表格、樹和列表 370
19.1 MVC概述 370
19.2 表格(TableViewer) 371
19.2.1 創(chuàng)建表格控制器(Controller) 371
19.2.2 創(chuàng)建表格模型(Model) 373
19.2.3 創(chuàng)建組織表格視圖(View) 375
19.2.4 添加和刪除數據 376
19.2.5 增加表格排序功能 378
19.2.6 增加表格過濾功能 380
19.2.7 編輯表格單元 381
19.2.8 表格的事件處理 383
19.2.9 帶有復選框表格(CheckBoxTableViewer) 383
19.3 樹(TreeViewer) 384
19.3.1 樹的基本性質 385
19.3.2 創(chuàng)建樹(TreeViewer) 386
19.3.3 對樹的操作 389
19.4 樹和表格的綜合示例 390
19.4.1 文件瀏覽器功能概述 391
19.4.2 程序的整體框架 391
19.4.3 初始化樹 393
19.4.4 初始化表格 394
19.4.5 程序的事件處理 396
19.5 列表ListViewer 397
19.6 本章小結 398
第20章 JFace的工具類 399
20.1 JFace資源管理機制 399
20.1.1 圖像描述符(ImageDescriptor) 399
20.1.2 圖像注冊器(ImageRegistry) 401
20.1.3 字體描述符和字體注冊器 403
20.1.4 顏色描述符和顏色注冊器 404
20.1.5 JFace的資源管理器(JFaceResources) 406
20.1.6 字符轉換工具類(StringConverter) 407
20.2 類型檢查的工具類 407
20.3 本章小結 408
第21章 文本處理 409
21.1 文本處理概述 409
21.2 項目實戰(zhàn):JavaScript編輯器 409
21.2.1 主窗口預覽 409
21.2.2 項目文件結構 410
21.3 主窗口模塊 411
21.3.1 代碼實現 411
21.3.2 主窗口程序代碼分析 414
21.3.3 啟動主窗口程序 416
21.4 代碼著色 417
21.4.1 源代碼配置類(SourceViewerConfiguration) 417
21.4.2 基于規(guī)則的代碼掃描器類(RuleBasedScanner) 419
21.4.3 設置代碼掃描規(guī)則 420
21.4.4 提取類(Token)和文本屬性類(TextAttribute) 423
21.5 內容輔助 423
21.5.1 配置編輯器的內容助手 424
21.5.2 內容輔助類 424
21.5.3 輔助建議類(CompletionProposal) 426
21.6 文檔的撤銷與重復 427
21.6.1 文檔管理器對象(DefaultUndoManager) 427
21.6.2 撤銷操作的實現 427
21.6.3 恢復操作的實現 428
21.7 查找與替換窗口 429
21.7.1 窗口的界面設計 429
21.7.2 查找功能的實現 433
21.7.3 替換功能的實現 434
21.8 首選項的對話框 434
21.8.1 首選項頁面的代碼實現 435
21.8.2 打開首選項頁面的代碼 436
21.9 文件的打開、保存與打印 437
21.9.1 打開文件 437
21.9.2 保存文件 437
21.9.3 打印文件 438
21.10 幫助對話框 439
21.11 其他的一些工具類 440
21.11.1 事件管理類 440
21.11.2 資源管理類 441
21.11.3 程序中使用的常量 443
21.12 本章小結 444
第5篇 RCP應用篇
第22章 富客戶端平臺(RCP)應用 446
22.1 RCP概述 446
22.1.1 什么是RCP 446
22.1.2 RCP應用的現狀 447
22.2 第一個RCP項目 448
22.2.1 創(chuàng)建插件項目 449
22.2.2 運行RCP程序 450
22.2.3 插件的文件清單 451
22.2.4 MANIFEST.MF文件 452
22.2.5 build.properties文件 454
22.2.6 plugin.xml文件 454
22.3 RCP運行的基本原理 455
22.3.1 插件類MyRCPPlugin 455
22.3.2 應用程序類Application 456
22.3.3 工作臺窗口類 458
22.3.4 操作類 459
22.3.5 透視圖類 460
22.4 創(chuàng)建擴展的基本方法 460
22.4.1 使用擴展向導創(chuàng)建 460
22.4.2 手工創(chuàng)建 462
22.4.3 獲取擴展點的幫助 463
22.5 本章小結 464
第23章 RCP開發(fā) 465
23.1 擴展操作集(Action Set) 465
23.1.1 操作集擴展點 465
23.1.2 編寫代碼創(chuàng)建操作對象 469
23.1.3 編寫代碼創(chuàng)建操作的步驟 471
23.1.4 其他與操作有關的擴展點 473
23.2 擴展視圖 473
23.2.1 視圖擴展點 474
23.2.2 視圖類 475
23.2.3 視圖之間的交互 477
23.2.4 添加視圖的工具欄 480
23.2.5 添加上下文菜單 481
23.3 擴展編輯器 484
23.3.1 編輯器擴展點 485
23.3.2 編輯器類 485
23.3.3 打開編輯器 488
23.3.4 添加編輯器的菜單和工具欄 491
23.3.5 多頁編輯器 493
23.4 透視圖 495
23.4.1 透視圖的布局 495
23.4.2 透視圖擴展點 498
23.4.3 透視圖類 499
23.5 首選項 500
23.5.1 首選項擴展點 500
23.5.2 首選項頁面擴展點 501
23.6 幫助文檔 503
23.6.1 聯機幫助文檔擴展點 504
23.6.2 擴展配置 505
23.6.3 聯機幫助的目錄結構 506
23.6.4 添加動態(tài)幫助 507
23.7 RCP產品的發(fā)布 508
23.7.1 Eclipse產品配置 508
23.7.2 導出RCP產品 510
23.7.3 運行RCP產品 510
23.8 本章小結 511
第24章 Eclipse表單 512
24.1 Eclipse 表單概述 512
24.1.1 什么是Eclipse 表單 512
24.1.2 Eclipse表單的特性 513
24.1.3 Eclipse表單使用的類包 513
24.2 表單開發(fā)基礎 513
24.2.1 視圖中使用表單 513
24.2.2 多頁編輯器中使用表單 515
24.2.3 SWT程序中使用表單 518
24.2.4 獲得表單工具對象(FormToolkit)一般方法 519
24.3 表單的各種控件 519
24.3.1 可滾動的表單(ScrolledForm) 519
24.3.2 可折疊的面板(ExpandableComposite) 520
24.3.3 內容區(qū)(Section) 523
24.3.4 超鏈接(Hyperlink) 525
24.3.5 表單文本(FormText) 527
24.4 表單的布局管理器 531
24.4.1 表格布局(TableWrapLayout) 531
24.4.2 列布局(ColumnLayout) 534
24.5 表單的高級應用 536
24.5.1 Master/Details模式 536
24.5.2 實現Master/Detail示例程序 537
24.6 本章小結 544
第25章 項目實戰(zhàn)——客戶關系管理系統 545
25.1 系統概述 545
25.1.1 系統預覽 545
25.1.2 基本概念介紹 546
25.1.3 系統的運行環(huán)境 547
25.1.4 系統文件結構的說明 547
25.2 UI界面設計 547
25.3 業(yè)務層設計 549
25.3.1 業(yè)務層服務的定義 549
25.3.2 業(yè)務層的實現 551
25.3.3 業(yè)務層服務的管理 552
25.3.4 業(yè)務層UML圖 553
25.3.5 如何調用業(yè)務對象 554
25.4 數據庫層設計 555
25.4.1 數據庫接口類 556
25.4.2 實現了MySQL 數據庫類 556
25.4.3 如何調用數據訪問對象 561
25.4.4 應用多種數據庫 562
25.4.5 數據庫的初始化的腳本 563
25.4.6 表所對應的POJO類 564
25.5 登錄模塊 566
25.5.1 系統的上下文對象保存登錄狀態(tài) 566
25.5.2 登錄驗證的實現 567
25.5.3 登錄窗口的實現 569
25.6 主窗口界面 572
25.6.1 工作臺的實現 572
25.6.2 系統托盤的實現 573
25.6.3 菜單欄和工具欄的實現 575
25.6.4 操作管理類(ActionManager) 579
25.6.5 新建客戶操作(NewCustomerAction) 580
25.6.6 打開視圖操作(ShowViewAction) 581
25.7 各種視圖和編輯器的實現 582
25.7.1 快速新建客戶視圖 583
25.7.2 客戶列表視圖 585
25.7.3 客戶詳細編輯器 590
25.7.4 聯系人列表視圖 595
25.7.5 快速新建聯系人視圖 597
25.7.6 搜索視圖 600
25.7.7 導航視圖 603
25.8 新建客戶聯系人向導 609
25.8.1 新建客戶向導 609
25.8.2 新建聯系人向導 615
25.9 首選項的實現 618
25.10 plugin.xml文件清單 623
25.11 本章小結 626