《Eclipse插件开发方法与实战》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:甘树满,王秀明编著
  • 出 版 社:电子工业出版社
  • 出版年份:2006
  • ISBN:
  • 页数:453 页
图书介绍:

第1章 Ecllpse概述 3

1.1 Eclipse项目背景 3

1.2 Eclipse简介 3

第1部分 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.2 资源层次结构 8

1.4.3 构建 8

1.4.1 资源 8

1.4 工作台 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.2 Java开发工具JDT 14

2.2.1 视角 14

2.2.2 视图 15

2.3.1 Java项目 16

2.2.3 编辑器 16

2.3 在Eclipse中开发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.5 其他快捷键 24

2.5.4 常用编辑器快捷键 24

2.5.3 调试快捷键 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

4.1.1 SWT/JFace概述 39

4.1 SWT/JFace简介 39

第2部分 SWTJFace开发篇 39

第4章 SWT/JFaGe入门 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.1.1 Control类的继承关系 49

5.1.2 Control类的常用方法 49

第5章 SWT常用组件 49

5.1 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.2 键盘事件实例 67

6.2.1 KeyListener接口 67

6.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.1 概述 79

第7章 SWT布局管理 79

7.2.1 FillLayout的风格 80

7.2.2 FillLayout布局实例 80

7.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.1 Layout类 96

7.6 创建自己的布局 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.1 Slider组件 115

8.3 其他组件 115

8.3.2 Scale组件 116

8.3.3 ProgressBar组件 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.2 自定义对话框实例 153

10.4.1 带标题区域对话框 153

10.4 自定义对话框 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.2 线程同步和异步的实现 164

11.2.1 线程同步和异步 164

11.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插件开发篇 177

第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.1 Views扩展点的介绍 189

13.1.1 视图分类 189

第13章 视图扩展点的实现 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”扩展点的辅助类“MultiPageEditor Contributor” 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.1 项目中常用的扩展 233

15.2 视角 233

第15章 项目相关扩展点的实现 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.1.1 联机帮助扩展点的实现 253

16.1 联机帮助 253

第16章 帮助相关扩展点的实现 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.1.2 “org.eclipse.ui.startup”对应的实现类 267

17.1.1 “org.eclipse.ui.startup”扩展点的实现 267

第17章 其他扩展点的实现 267

17.1 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

19.1.1 Draw2d简介 293

19.1 Draw2d简介 293

第19章 Draw2d简介及实现 293

第4部分 Eclipse提高篇 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.1 请求和编辑策略(Request and EditPolicies) 316

20.5 请求和编辑策略 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.1 程序的软件结构 325

21.1.1 实现功能 325

第21章 GEF表模型编辑器的实现 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.1 JUnit简介 433

附录C 在Eclipse中使用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