前言
第一部分基礎篇
第1章初識Eclipse RCP
1.1Eclipse平台概述
1.2Eclipse RCP概述
1.3Eclipse RCP的應用
1.4OSGi與Equinox
1.5SWT與JFace
1.6小結
第2章架設Eclipse RCP開發環境
2.1JDK的安裝與設定
2.1.1下載JDK安裝程式
2.1.2安裝JDK執行程式
2.1.3設定JDK執行環境
2.1.4測試JDK安裝狀態
2.1.5移除JDK應用程式
2.2安裝Eclipse IDE
2.2.1Eclipse開發套件
2.2.2Eclipse版本更新
2.2.3下載Eclipse
2.2.4安裝Eclipse
2.2.5技術資源
2.3Maven的安裝與設定
2.3.1Maven介紹
2.3.2下載Maven
2.3.3安裝Maven
2.3.4測試Maven
2.3.5修改Maven的設定檔
2.3.6技術資源
2.4Maven和Eclipse的整合
2.4.1安裝Maven Eclipse外掛程式
2.4.2設定Maven Eclipse外掛程式
2.4.3技術資源
2.5安裝Spring IDE Plugin
2.5.1Spring IDE介紹
2.5.2安裝Spring IDE外掛程式
2.5.3技術資源
2.6安裝WindowBuilderProPlugin
2.6.1WindowBuilder介紹
2.6.2安裝WindowBuilder外掛程式
2.7小結
第3章SWT介面設計詳解
3.1SWT介紹
3.2WindowBuilder外掛程式初識
3.2.1設計檢視
3.2.2原始程式視圖
3.2.3結構視圖
3.3SWT設計面板
3.4SWT設計準備
3.4.1Element
3.4.2ElementFactory
3.5Shell使用入門
3.5.1Shell樣式
3.5.2Shell TRIM
3.5.3Shell模態型態
3.6容器使用入門
3.6.1Composite
3.6.2Group
3.6.3ScrolledComposit
3.6.4SashForm
3.6.5TabFolder與TabItem
3.6.6CTabFolder與CTabItem
3.6.7ViewForm
3.6.8CBanner
3.7容器使用進階
3.7.1checkSubclass方法
3.7.2介面重用
3.7.3增加自訂的Component
3.7.4背景模式
3.7.5帶分隔條的SashForm
3.8版面配置使用入門
3.8.1AbsoluteLayout
3.8.2FillLayout
3.8.3GridLayout
3.8.4FormLayout
3.8.5RowLayout
3.8.6StackLayout
3.8.7GroupLayout
3.8.8FlowLayout
3.8.9BoxLayout
3.8.10BorderLayout
3.9版面配置使用進階
3.9.1使用AbsoluteLayout
3.9.2 使用GridLayout
3.9.3StackLayout
3.10控制項使用入門
3.10.1Label
3.10.2CLabel
3.10.3Separator
3.10.4Text
3.10.5StyledText
3.10.6Combo
3.10.7CCombo
3.10.8List
3.10.9Button
3.10.10DateTime
3.10.11Spinner
3.10.12Slider
3.10.13Scale
3.10.14Link
3.10.15ToolBar與ToolItem
3.10.16CoolBar與CoolItem
3.10.17ExpandBar與ExpandItem
3.10.18ProgressBar
3.10.19Browser
3.10.20Canvas
3.10.21TrayItem
3.10.22Table
3.10.23Tree
3.10.24TableTree
3.11控制項使用進階
3.11.1建立Simple Table
3.11.2建立Lazy Table
3.11.3建立Virtual Table
3.11.4Virtual Table注意事項
3.11.5Virtual Table排序
3.11.6建立Lazy Tree
3.11.7建立Virtual Tree
3.11.8建立TreeVirtualDynamic
3.11.9建立POJOComposite
3.11.10如何與瀏覽器互動
3.12選單使用入門
3.12.1Menu Bar元件
3.12.2 Popup Menu
3.12.3 MenuItem
3.13選單使用進階
3.14技術資源
3.15小結
第4章JFace介面設計詳解
4.1MVC設計思想
4.1.1MVC模式
4.1.2Java與MVC模式
4.2JFace與MVC模式
4.2.1JFace Viewer框架概述
4.2.2JFace Viewer框架機制
4.3JFace常用元件入門
4.3.1ComboViewer
4.3.2ListViewer
4.3.3TableViewer
4.3.4TreeViewer
4.3.5CheckboxTableViewer
4.3.6CheckboxTreeViewer
4.3.7TreeTableViewer
4.3.8TableViewer Composite
4.3.9Table Composite
4.3.10TreeViewer Composite
4.3.11Tree Composite
4.4JFace元件使用進階
4.4.1資料綁定
4.4.2以EditingSupport為基礎的可編輯表格
4.4.3以ICellModifier為基礎的可編輯表格
4.4.4交談視窗編輯器
4.4.5其他表格標籤
4.4.6Viewer浮動提示控制項
4.5小結
第5章Eclipse Forms與Nebula介面設計
5.1Eclipse Forms專案介紹
5.2Eclipse Forms使用入門
5.2.1Composite
5.2.2ExpandableComposite
5.2.3Label與Text
5.2.4Hyperlink與ImageHyperlink
5.2.5Composite Separator
5.2.6Section
5.2.7Form與ScrolledForm
5.3Eclipse Forms使用進階
5.3.1FormEditor與FormPage
5.3.2MasterDetailsBlock 與IDetailsPage
5.4Eclipse Forms技術資源
5.5Nebula專案介紹
5.6安裝Eclipse Nebula Plugin
5.6.1安裝Eclipse Nebula Main Widgets
5.6.2安裝Eclipse Nebula incubation Widgets
5.6.3載入Eclipse Nebula控制項到WindowBuilder Pro Plugin中
5.7Nebula Main Widgets設計初識
5.8Nebula Incubation widgets設計初識
5.9Nebula設計經驗
5.10Nebula技術資源
5.11小結
第二部分高級篇
第6章Eclipse RCP 開發基礎
6.1Eclipse概念
6.1.1歡迎介面
6.1.2工作環境
6.1.3視圖
6.1.4視圖
6.1.5編輯器
6.2RCP應用程式設計
6.2.1RCP外掛程式建立精靈
6.2.2Plug-in Project
6.2.3Plugin Content
6.2.4Templates
6.2.5Sample Intro
6.2.6產品初次執行
6.3外掛程式清單編輯器
6.3.1外掛程式概述
6.3.2外掛程式依賴項
6.3.3外掛程式執行時期
6.3.4外掛程式擴充
6.3.5外掛程式擴充點
6.3.6外掛程式建構
6.3.7其他頁面
6.4RCP Activator與Advisor類別解析
6.4.1WorkshopAppActivator
6.4.2Application
6.4.3ActionBarAdvisor
6.4.4WorkbenchAdvisor
6.4.5WorkbenchWindowAdvisor
6.5小結
第7章建構產品幫助系統
7.1建立幫助外掛程式精靈
7.1.1幫助外掛程式的 Content精靈頁面
7.1.2幫助外掛程式的Templates精靈頁面
7.1.3幫助外掛程式的Sample Help Table of Contents精靈頁面
7.2維護Help Content
7.2.1幫助系統組態與資源檔的目錄
7.2.2幫助系統組態與資源檔的關係
7.2.3幫助系統擴充
7.3增加幫助的選單項
7.4說明檔案的建立
7.5小結
第8章建構產品歡迎頁面
8.1產品綁定歡迎頁面
8.1.1歡迎頁面擴充
8.1.2歡迎頁面定義
8.1.3歡迎頁面首頁
8.1.4頁面跳躍連結
8.2歡迎頁面請求
8.2.1建立IIntroAction
8.2.2增加IIntroAction連結
8.3增加動態內容
8.3.1動態頁面建立
8.3.2動態資料建立
8.4建立頁面擴充
8.5小結
第9章建構產品多國語言
9.1外掛程式清單的多國語言
9.2Java程式的多國語言
9.2.1Java程式的外部化字串
9.2.2Java程式的多國語言套件
9.2.3產品多國語言進階
9.3幫助系統的多國語言
9.4Eclipse介面中文化
9.5切換軟體系統語言
9.5.1增加自訂產品的config檔案
9.5.2增加語言切換擴充點
9.5.3語言切換處理器
9.6小結
第10章產品的執行與匯出
10.1產品設定
10.2產品設定編輯器
10.3匯出精靈
10.3.1產品匯出
10.3.2跨平台匯出
10.3.3外掛程式匯出
10.4執行與匯出進階
10.5小結
第11章Eclipse RCP擴充的使用
11.1ViewPart 視圖
11.1.1建立新外掛程式
11.1.2視圖精靈
11.1.3視圖程式
11.1.4視圖擴充
11.2Perspective視圖
11.2.1視圖精靈
11.2.2視圖程式
11.2.3視圖擴充
11.2.4視圖版面配置
11.2.5開啟視圖
11.3EditorPart編輯器
11.3.1建立資料表單
11.3.2建立編輯器的輸入
11.3.3建立編輯器
11.3.4建立視圖樹狀元件
11.3.5編輯器擴充
11.4程式設計實現Action
11.4.1IAction
11.4.2ToolBar工具列
11.4.3CoolBar工具列
11.4.4ContentMenuBar功能表列
11.4.5工作環境Action
11.4.6視圖Action功能表列
11.4.7視圖Action工具列
11.4.8編輯器Action工具列
11.5擴充實現Action
11.5.1工作環境Action擴充
11.5.2視圖Action擴充
11.5.3編輯器Action擴充
11.6Action的鍵盤綁定
11.6.1Commands擴充
11.6.2Bindings擴充
11.7Eclipse RCP設計進階
11.7.1視圖/編輯器之間通訊
11.7.2建立狀態列項
11.7.3建立屬性設定頁面
11.7.4建立登入交談視窗
11.8小結
第12章Eclipse RCP擴充點開發
12.1擴充點簡介
12.2建立擴充點
12.3擴充點編輯器
12.3.1擴充點概述
12.3.2擴充點定義
12.3.3擴充點原始程式
12.4擴充點處理
12.4.1擴充點物件
12.4.2擴充點註冊
12.4.3擴充點取得
12.5增加擴充
12.6使用擴充
12.7小結
第三部分實戰篇
第13章Eclipse RCP與Spring OSGi
13.1OSGi技術介紹
13.1.1軟體開發面臨的問題
13.1.2動態模組化解決方案
13.1.3OSGi框架
13.1.4選擇合適的OSGi實現
13.2Spring OSGi專案所需要的開發套件
13.2.1下載Spring DM的開發套件
13.2.2解壓縮Spring DM的開發套件
13.2.3建立Spring DM目標平台
13.3Spring OSGi專案的Maven管理
13.3.1建立Maven POM專案
13.3.2修改Maven專案型態
13.4Spring OSGi專案的模組化設計
13.4.1建立Spring DM業務專案
13.4.2設計Spring DM業務專案
13.5 Spring OSGi專案轉為外掛程式專案
13.6Spring OSGi外掛程式專案發佈介面
13.6.1建立介面發佈設定
13.6.2增加套件的路徑匯出
13.7Eclipse RCP取得Spring OSGi服務
13.7.1建立Eclipse RCP UI 外掛程式
13.7.2取得Spring OSGi服務介面
13.7.3呼叫Spring OSGi服務介面
13.8Eclipse RCP與Spring OSGi的啟動
13.8.1Eclipse 應用程式啟動選項
13.8.2啟動Eclipse RCP產品設定
13.8.3啟動以Spring OSGi為基礎的RCP程式
13.9在Eclipse RCP中取得ApplicationContext和Bean
13.10Spring OSGi的Maven外掛程式專案包裝
13.10.1PDE外掛程式匯出精靈
13.10.2Maven外掛程式專案的包裝設定
13.10.3執行Maven外掛程式包裝
13.11小結
第14章Eclipse RCP與資料存取
14.1SpringOSGi與Hibernate
14.1.1Hibernate簡介
14.1.2資料存取外掛程式目標
14.1.3資料存取外掛程式設計
14.2外掛程式如何引用協力廠商開發套件
14.2.1如何取得協力廠商開發套件
14.2.2如何參考協力廠商開發套件
14.3將普通JAR轉成外掛程式格式
14.3.1匯入精靈
14.3.2BND工具
14.4建立資料庫外掛程式
14.4.1Maven POM設定檔
14.4.2properties設定檔
14.4.3Spring XML設定檔
14.4.4MAINFEST.MF設定檔
14.5 建立連接池外掛程式
14.5.1 Maven POM設定檔
14.5.2properties設定檔
14.5.3Spring XML設定檔
14.5.4Java類別設計
14.5.5MAINFEST.MF設定檔
14.6 建立連接池Feature外掛程式
14.6.1修改DBCP的MAINFEST.MF檔案
14.6.2建立DBCP的Fragment外掛程式
14.7建立Hibernate外掛程式
14.7.1 Maven POM設定檔
14.7.2properties設定檔
14.7.3Spring XML設定檔
14.7.4擴充點設計
14.7.5Java類別設計
14.7.6MAINFEST.MF設定檔
14.8建立業務外掛程式
14.8.1Spring XML設定檔
14.8.2Java類別設計
14.8.3資料庫SQL設計
14.8.4MAINFEST.MF設定檔
14.8.5增加BundleAnnotationSessionFactoryBean擴充
14.9 啟動OSGi Framework程式
14.10 其他整合資料庫的方式
14.11以資料存取外掛程式為基礎的RCP程式啟動
14.12小結
第15章Eclipse與Java的模組化設計
15.1 以程式語言為基礎的模組化
15.1.1Java敘述的模組化設計
15.1.2Java方法的模組化設計
15.1.3Java類別的模組化設計
15.1.4Java介面的模組化設計
15.2 以程式設計方法為基礎的模組化
15.2.1IoC程式設計的模組化設計
15.2.2AOP程式設計的模組化設計
15.3 以程式實體檔案為基礎的模組化
15.3.1Package路徑的模組化設計
15.3.2XML檔案的模組化設計
15.3.3Properties檔案的模組化設計
15.3.4JAR元件的模組化設計
15.4 以技術架構為基礎的模組化
15.4.1OSGi的模組化設計
15.4.2Eclipse外掛程式的模組化設計
15.4.3JMS的模組化設計
15.5模組化的技術移植
15.6小結