Eclipse外掛程式開發方法與實戰

Eclipse外掛程式開發方法與實戰

《Eclipse外掛程式開發方法與實戰 》是電子工業出版社 出版的圖書。

基本信息

基本信息

作者: 甘樹滿 王秀明

叢書名: Java開發專家

出版社:電子工業出版社

ISBN:7121031809

上架時間:2006-12-5

出版日期:2006 年10月

開本:16開

頁碼:453

版次:1-1

內容簡介

初涉eclipse開發的讀者,就像深陷叢林的冒險者,多少會有點迷茫。如果你是一位非常優秀的探險家,憑直覺可能很快就會找到出路。但如果你在這方面缺乏經驗的話,最終可能會找到出口,但一定會走很多彎路。本書並不能算“指南針”性的教材,但希望能引領讀者認識eclipse的真面目,並能快速融入到 eclipse的開發中去。.

本書分為4個部分共24章,以外掛程式開發為中心,圍繞外掛程式開發主要介紹swt/jface的套用、外掛程式擴展點的實現,以及gef、emf和rcp的相關知識。本書所有講解的範例都能在附書光碟中找到可運行的原始碼,並且已經按章節歸類。本書語言深入淺出,通俗易懂,通過大量具有典型性和實用價值的實例,以及形象的比喻,把複雜的問題和難懂的概念簡單化,從多個方面引導讀者進入Eclipse外掛程式開發。..

附書光碟內容為書中實例原始碼及相關外掛程式。

本書對於eclipse外掛程式開發的新手和有一定eclipse開發經驗的程式設計師普遍適用。

目錄

第1部分 eclipse入門篇.

第1章 eclipse概述 3

1.1 eclipse項目背景 3

1.2 eclipse簡介 3

1.2.1 開放式體系結構 4

1.2.2 平台體系結構 4

1.3 eclipse的主要功能特性 5

1.3.1 檔案存放(workspace) 5

1.3.2 eclipse開發環境(Workbench) 6

1.3.3 編譯與運行 7

1.3.4 版本管理 7

1.4 工作檯 8

1.4.1 資源 8

1.4.2 資源層次結構 8

1.4.3 構建 8

1.5 運行時概述 9

1.5.1 運行時外掛程式模型 9

1.5.2 外掛程式 10

1.5.3 bundle 10

1.6 開源的選擇 11

.1.7 小結 12

第2章 eclipse安裝及java開發 13

2.1 eclipse開發環境的安裝 13

2.1.1 jdk安裝 13

2.1.2 eclipse安裝 14

2.2Java開發工具jdt 14

2.2.1 視角 14

2.2.2 視圖 15

2.2.3 編輯器 16

2.3 在eclipse中開發java程式 16

2.3.1 java項目 16

2.3.2 新建“hello,world”程式 17

2.3.3 運行程式與調試 18

2.3.4 類的構建路徑 19

2.3.5 項目構建 20

2.4 其他功能 20

2.4.1 查看原始碼 20

2.4.2 重構 21

2.4.3 生成javadoc文檔 21

2.5 eclipse快捷鍵 22

2.5.1 編輯相關快捷鍵 22

2.5.2 查看和定位快捷鍵 23

2.5.3 調試快捷鍵 24

2.5.4 常用編輯器快捷鍵 24

2.5.5 其他快捷鍵 24

2.6 小結 25

第3章 eclipse的使用 27

3.1 eclipse外掛程式安裝 27

3.1.1 拷貝安裝 27

3.1.2 links安裝 28

3.1.3 update安裝 29

3.1.4 查看外掛程式 30

3.2 開發簡單的web套用 31

3.2.1 安裝配置myeclipse 31

3.2.2 創建web套用 32

3.2.3 部署並運行web套用 35

3.3 小結 36

第2部分 swtjface開發篇

第4章 swt/jface 入門 39

4.1 swt/jface簡介 39

4.1.1 swt/jface概述 39

4.2.2 swt/jface基本特性 40

4.2 swt“hello world”程式 41

4.2.1 加入swt依賴的包 41

4.2.2 “hello world”程式 43

4.2.3 運行“hello world”程式 43

4.3 jface“hello world”程式 44

4.3.1 “hello world”程式 44

4.3.2 運行“hello world”程式 45

4.4 在swt中使用swing組件 46

4.4.1 在swt的組件上加入swing的組件 46

4.4.2 程式運行效果 48

4.5 小結 48

第5章 swt常用組件 49

5.1 control類 49

5.1.1 control類的繼承關係 49

5.1.2 control類的常用方法 49

5.2 button組件 50

5.2.1 button組件實例 50

5.2.2 button組件的風格 52

5.2.3 button組件的對齊方式 52

5.2.4 加入圖片及按鈕組合屬性 52

5.3 label組件 53

5.3.1 label組件實例 53

5.3.2 label組件的風格和對齊方式 54

5.3.3 加入圖片及組合屬性 55

5.4 text組件 55

5.4.1 text組件實例 55

5.4.2 text組件的風格 56

5.5 combo組件 57

5.5.1 combo組件實例 57

5.5.2 combo組件的風格 59

5.6 list組件 59

5.6.1 list組件實例 59

5.6.2 list組件的風格 61

5.7 小結 61

第6章 swt事件 63

6.1 滑鼠事件 63

6.1.1 mouselistener接口 63

6.1.2 mousemovelistener接口 64

6.1.3 mousetracklistener接口 64

6.1.4 滑鼠事件實例 65

6.2 鍵盤事件 67

6.2.1 keylistener接口 67

6.2.2 鍵盤事件實例 67

6.3 焦點事件 69

6.3.1 focuslistener接口 69

6.3.2 焦點事件實例 69

6.4 視窗控制事件 71

6.4.1 controllistener接口 71

6.4.2 視窗控制事件實例 71

6.5 選擇組件事件 72

6.5.1 selectionlistener接口 73

6.5.2 選擇組件事件實例 73

6.6 其他常用事件 74

6.6.1 helplistener、verifylistener和modifylistener監聽器的功能 74

6.6.2 helplistener、verifylistener和modifylistener監聽器實例 75

6.7 小結 77

第7章 swt布局管理 79

7.1 概述 79

7.2 filllayout布局 80

7.2.1 filllayout的風格 80

7.2.2 filllayout布局實例 80

7.3 rowlayout布局 82

7.3.1 rowlayout的風格 82

7.3.2 rowlayout布局實例 83

7.4 gridlayout布局 84

7.4.1 gridlayout的風格 85

7.4.2 griddata的相關屬性 85

7.4.3 gridlayout 布局實例 87

7.5 formlayout布局 91

7.5.1 formlayout布局信息 91

7.5.2 formlayout布局實例 92

7.6 創建自己的布局 96

7.6.1 layout類 96

7.6.2 創建自己的布局類 97

7.7 小結 100

第8章 swt容器及其他組件 101

8.1 swt容器 101

8.1.1 composite組件 101

8.1.2 group組件 102

8.1.3 tabfolder和tabitem組件 104

8.1.4 sashform組件 105

8.2 選單和工具列 108

8.2.1 menu和menuitem組件 108

8.2.2 toolbar和toolitem組件 111

8.2.3 coolbar和coolitem組件 113

8.3 其他組件 115

8.3.1 slider組件 115

8.3.2 scale組件 116

8.3.3ProgressBar組件 118

8.4 小結 120

第9章 viewer組件 121

9.1 treeviewer 121

9.1.1 treeviewer構建步驟 121

9.1.2 內容提供器(itreecontentprovider) 121

9.1.3 標籤提供器(ilabelprovider) 123

9.1.4 treeviewer實例 123

9.2 tableviewer 127

9.2.1 tableviewer構建步驟 127

9.2.2 內容提供器(istructured contentprovider) 128

9.2.3 標籤提供器(itablelabelprovider) 128

9.2.4 tableviewer實例 129

9.3 listviewer 138

9.3.1 listviewer功能 138

9.3.2 listviewer實例 138

9.4 小結 142

第10章 對話框 143

10.1 訊息對話框 143

10.1.1 訊息對話框的功能 143

10.1.2 訊息對話框實例 144

10.2 輸入對話框 147

10.2.1 輸入對話框的功能 147

10.2.2 輸入對話框實例 147

10.3 進度監視對話框 149

10.3.1 進度監視對話框的功能 149

10.3.2 進度監視對話框實例 150

10.4 自定義對話框 153

10.4.1 帶標題區域對話框 153

10.4.2 自定義對話框實例 153

10.5 常用系統對話框 156

10.5.1 列印對話框(printdialog) 157

10.5.2 顏色對話框(colordialog) 157

10.5.3 字型對話框(fontdialog) 158

10.5.4 檔案對話框(filedialog) 159

10.5.5 目錄對話框(directorydialog) 159

10.6 小結 160

第11章 swt的其他套用 161

11.1 拖放 161

11.1.1 拖放的功能 161

11.1.2 拖放的實現 162

11.2 執行緒 164

11.2.1執行緒同步和異步 164

11.2.2 執行緒同步和異步的實現 164

11.3 剪貼簿 166

11.3.1 剪貼簿的功能 166

11.3.2 剪貼簿的實現 166

11.4圖形上下文168

11.4.1 圖形上下文的實現 168

11.4.2 自定義組件 170

11.5 滑鼠形狀(cursor) 172

11.6 小結 174

第3部分 eclipse外掛程式開發篇

第12章 外掛程式入門 177

12.1 什麼是外掛程式 177

12.2 一個簡單的外掛程式 178

12.2.1 創建“hello,world”外掛程式 178

12.2.2 調試“hello,world”外掛程式 179

12.2.3 外掛程式打包 180

12.3 外掛程式清單檔案介紹 181

12.3.1 overview:描述了外掛程式的基本信息 182

12.3.2 dependencies:描述了外掛程式的依賴關係 182

12.3.3 runtime:指明了運行時的classpath 183

12.3.4 extensions:指明外掛程式實現的擴展點 183

12.3.5 extension points:指明了用戶外掛程式提供的擴展點 184

12.4 常用擴展點的描述 185

12.4.1 org.eclipse.ui.editors:代表一個編輯器視窗 185

12.4.2 org.eclipse.ui.views:代表一個視圖視窗 185

12.4.3 org.eclipse.ui.perspectives:代表一個擴展視角 187

12.5 小結 187

第13章 視圖擴展點的實現 189

13.1 views擴展點的介紹 189

13.1.1 視圖分類 189

13.1.2 常用視圖可實現的功能 190

13.2 “hello,world”視圖 190

13.2.1 創建“hello,world”視圖外掛程式 190

13.2.2 “hello,world”外掛程式擴展點 191

13.2.3 “org.eclipse.ui.views”擴展點的實現類“helloworldview” 193

13.2.4 運行“hello,world”視圖 194

13.3 “tree viewer”視圖 195

13.3.1 創建“tree viewer”視圖外掛程式 195

13.3.2 “tree viewer”外掛程式擴展點 196

13.3.3 “org.eclipse.ui.views”擴展點的實現類“treeviewtest” 196

13.3.4 運行“tree viewer”視圖 202

13.4 “image viewer”視圖 202

13.4.1 創建“image viewer”視圖外掛程式 202

13.4.2 “org.eclipse.ui.viewactions”擴展點的實現類“pushactiondelegate” 205

13.4.3 “org.eclipse.ui.views”擴展點的實現類“imageview” 206

13.4.4 運行“image viewer”視圖 207

13.5 debug視圖的實現.. 208

13.5.1 查找debug外掛程式 208

13.5.2 導入debug外掛程式 208

13.5.3 debug外掛程式中視圖的擴展點 209

13.6 小結 211

第14章 編輯器擴展點的實現 213

14.1 editors擴展點的介紹 213

14.1.1 編輯器分類 213

14.1.2 常用編輯器可實現的功能 213

14.1.3 編輯器和視圖的區別 214

14.2 “hello,world”編輯器 214

14.2.1 “hello,world”編輯器外掛程式 214

14.2.2 “hello,world”外掛程式擴展點 215

14.2.3 “org.eclipse.ui.editors”擴展點的實現類“helloworldeditor” 216

14.2.4 運行“hello,world”編輯器 218

14.3 多頁簽編輯器的實現 219

14.3.1 創建多頁簽編輯器外掛程式 219

14.3.2 多頁簽編輯器外掛程式擴展點 220

14.3.3 “org.eclipse.ui.editors”擴展點的實現類“multipageeditor” 220

14.3.4 “org.eclipse.ui.editors”擴展點的輔助類“multipageeditorcontributor” 225

14.3.5 運行多頁簽編輯器 227

14.4 簡單的文本編輯器 227

14.4.1 創建文本編輯器外掛程式 227

14.4.2 “org.eclipse.ui.editors”擴展點的實現類“fileeditor” 228

14.4.3 運行文本編輯器 231

14.5 小結 231

第15章 項目相關擴展點的實現 233

15.1 項目中常用的擴展 233

15.2 視角 233

15.2.1 簡介 234

15.2.2 “org.eclipse.ui.perspective extensions”擴展點 234

15.2.3 “org.eclipse.ui.perspectives”擴展點 237

15.3 選單工具列 239

15.3.1 “org.eclipse.ui.actionsets”擴展點信息 239

15.3.2 “org.eclipse.ui.actionsets”擴展點的實現類“sampleaction” 240

15.4 項目相關特性 241

15.4.1 項目擴展點 241

15.4.2 “org.eclipse.core.resources. natures”擴展點及實現類 241

15.4.3 “org.eclipse.core.resources. builders”擴展點及實現類 243

15.4.4 “org.eclipse.ui.newwizards”擴展點及實現類 246

15.4.5 “org.eclipse.ui.preferencepages”擴展點及實現類 249

15.5 小結 252

第16章 幫助相關擴展點的實現 253

16.1在線上幫助253

16.1.1 在線上幫助擴展點的實現 253

16.1.2 在線上幫助文檔的結構 254

16.1.3 在在線上幫助中線上調用java類 256

16.2 歡迎界面幫助 257

16.2.1 產品擴展點 258

16.2.2 歡迎界面擴展點 258

16.2.3 外掛程式清單檔案 259

16.2.4 擴展點實現類 259

16.2.5 調試歡迎界面外掛程式 261

16.3 上下文幫助 261

16.3.1 定義上下文幫助 261

16.3.2 定義彈出選單和相應對話框 262

16.3.3 運行上下文幫助外掛程式 264

16.4 小結 266

第17章 其他擴展點的實現 267

17.1 startup擴展點的實現 267

17.1.1 “org.eclipse.ui.startup”擴展點的實現 267

17.1.2 “org.eclipse.ui.startup”對應的實現類 267

17.1.3 “org.eclipse.ui.startup”對應外掛程式運行效果 268

17.2 “propertypages”擴展點的實現 268

17.2.1 “org.eclipse.ui.propertypages”擴展點的實現 268

17.2.2 “org.eclipse.ui.propertypages”對應的實現類 269

17.2.3 “org.eclipse.ui.propertypages”對應外掛程式運行效果 272

17.3 小結 273

第18章 外掛程式開發輔助功能 275

18.1 屬性視圖 275

18.1.1 ipropertysource接口 276

18.1.2 屬性視圖的實現 277

18.2大綱視圖279

18.2.1 icontentoutlinepage接口 279

18.2.2 大綱視圖的實現 281

18.3 構造editorinput 282

18.3.1 ieditorinput接口 282

18.3.2 ieditorinput的實現 283

18.4 操縱編輯器 285

18.4.1 查找編輯器 285

18.4.2 打開和關閉編輯器 286

18.5 外掛程式國際化 286

18.5.1 國際化外掛程式的創建 287

18.5.2 類的國際化 287

18.5.3 plugin.xml檔案格式化 289

18.5.4 調試國際化外掛程式 289

18.6 小結 290

第4部分 eclipse提高篇

第19章 draw2d簡介及實現 293

19.1 draw2d簡介 293

19.1.1 draw2d簡介 293

19.1.2 “hello world”實現 294

19.2 圖形 295

19.2.1 圖形(figure)的功能 295

19.2.2 圖形的實現 295

19.3 連線 296

19.3.1 連線(connection)的功能 297

19.3.2 連線的實現 297

19.4 uml關係圖實現 299

19.4.1 uml關係圖實現的要求 299

19.4.2 compartmentfigure實現 300

19.4.3 umlclassfigure實現 301

19.4.4 連線及測試類 302

19.5 小結 304

第20章 gef原理及實現 305

20.1 gef概述 305

20.1.1 gef簡介 305

20.1.2 gef工作原理 305

20.2 模型 306

20.2.1 模型的功能 306

20.2.2 模型的實現 306

20.3 視圖 311

20.3.1 視圖的功能 311

20.3.2 視圖的實現 311

20.4 控制器 312

20.4.1 控制器的功能 312

20.4.2 控制器的實現 313

20.5 請求和編輯策略 316

20.5.1 請求和編輯策略(request and editpolicies) 316

20.5.2 編輯策略的實現 317

20.6 命令 318

20.6.1 命令(commands)的功能 318

20.6.2 命令的實現 318

20.7 模型同步 320

20.7.1 模型同步的功能 320

20.7.2 模型同步的實現 320

20.8 選項板 321

20.8.1 選項板(paletteroot)的功能 321

20.8.2 選項板的實現 322

20.9 小結 323

第21章 gef表模型編輯器的實現 325

21.1 程式的軟體結構 325

21.1.1 實現功能 325

21.1.2 程式的界面要求 326

21.2 編輯器的實現 326

21.2.1 編輯器的功能 326

21.2.2 編輯器的實現 327

21.3 模型的實現 334

21.3.1 propertyawareobject類 334

21.3.2 table類 335

21.3.3 column類 339

21.3.4 schema類 341

21.3.5 relationship類 343

21.4 視圖的實現 344

21.4.1 tablefigure類 344

21.4.2 schemafigure類 346

21.4.3 columnsfigure類 346

21.5 控制器的實現 347

21.5.1 tablepart的實現 348

21.5.2 relationshippart的實現 357

21.6 editpartfactory和palette的實現 359

21.6.1 schemaeditpartfactory 359

21.6.2 paletteroot 360

21.7 editpolicy的實現 362

21.7.1 tablenodeeditpolicy(模型連線的編輯策略) 362

21.7.2 tablelayouteditpolicy(子模型布局的編輯策略) 364

21.7.3 tablecontainereditpolicy(處理模型創建請求的編輯策略) 366

21.7.4 tableeditpolicy(模型編輯的編輯策略) 367

21.7.5 tabledirecteditpolicy(處理直接編輯的編輯策略) 368

21.8 command的實現 369

21.8.1 模型連線命令 369

21.8.2 模型拖動命令 372

21.8.3 模型創建命令 373

21.8.4 模型刪除命令 374

21.8.5 模型直接編輯命令 377

21.9 大綱的實現 378

21.10 小結 380

第22章 emf的使用 381

22.1 emf的簡介 381

22.2 使用emf生成模型382

22.2.1 定製類關係圖 382

22.2.2 生成模型代碼 383

22.3 在gef框架中使用emf模型 384

22.3.1 模型 384

22.3.2 editpart的修改 384

22.3.3 elementfactory的修改 385

22.3.4 處理自定義數據類型 386

22.3.5 保存和載入模型 387

22.4 小結 388

第23章 rcp技術 389

23.1 rcp的簡介 389

23.2 建立一個rcp的套用 389

23.2.1 創建rcp套用 390

23.2.2 運行rcp套用 390

23.2.3 導出rcp套用 391

23.3 rcp的組成部分 393

23.3.1 plugin.xml 393

23.3.2 套用的入口application 395

23.3.3 工作檯applicationworkbench advisor 395

23.3.4 工作檯視窗application workbenchwindowadvisor 397

23.3.5 工作檯“action bar”applicationactionbaradvisor 397

23.3.6 套用的視角(perspective) 399

23.4 小結 400

第24章 eclipse進階 401

24.1 選擇與監聽 401

24.1.1 選擇事件提供者(selection provider) 402

24.1.2 選擇服務(selection service) 403

24.1.3 選擇事件監聽器(selection listener) 404

24.1.4 實例 405

24.2 命令堆疊 408

24.2.1 命令堆疊(commandstack) 408

24.2.2 監聽器 410

24.3 適配器 410

24.3.1 適配器接口(iadaptable) 411

24.3.2 適配器的實現 412

24.4 ui持久化 413

24.4.1 持久化機制 413

24.4.2 ui持久化與恢復的實現 414

24.5 深入workbench 418

24.5.1 workbench中實現類的關係 418

24.5.2 part的生命周期 419

24.6 資源監聽與訪問 421

24.6.1 資源監聽器 421

24.6.2 資源訪問器 422

24.6.3 資源監聽的實現 423

24.7 小結 425

附錄a 外掛程式資源列表 427

附錄b 外掛程式開發法則 431

b.1 擴展者法則 431

b.2 促成者法則 431

b.3 發布者法則 432

附錄c 在eclipse中使用junit 433

c.1 junit簡介 433

c.2 eclipse開發、調試測試程式 434

附錄d visual editor 437

d.1 eclipse visual editor項目介紹 437

d.2 visual editor的內幕 437

d.3 利用visual editor開發awt/swing應用程式 438

d.4 visual editor工具 438

d.5 創建和啟用用戶接口 440

d.6 運行visual class 441

d.7 visual editor對eclipse的貢獻 442

附錄e cvs版本管理 447

e.1 相關術語 447

e.2 工作模式 448

e.3 模組的輸入與簽出 448

e.4 日常操作... 450

相關詞條

相關搜尋

熱門詞條

聯絡我們