图书目录

目    录

第1章  Eclipse简介 1

1.1  安装Eclipse 1

1.2  第一个应用程序:Hello World 4

1.2.1  透视图 4

1.2.2  项目 5

1.2.3  新建一个类 5

1.2.4  启动 7

1.3  Java开发中重要的首选项 7

1.3.1  工作台首选项 8

1.3.2  已安装的JRE 9

1.3.3  编译器首选项 10

1.3.4  格式化代码 11

1.3.5  模板 12

1.4  任务和问题 13

1.4.1  问题 14

1.4.2  通用任务 15

1.4.3  书签 16

1.5  代码片断编辑测试窗 16

1.6  本章小结 18

第2章  使用Eclipse高效编程 19

2.1  小型帮助系统 19

2.1.1  系统信息 19

2.1.2  帮助与悬浮式帮助 19

2.1.3  Java信息视图 21

2.1.4  代码自动补全 21

2.1.5  修正辅助 25

2.1.6  Java编辑器中的简易功能 26

2.2  源代码导航 28

2.3  代码重构 29

2.3.1  修改类型 29

2.3.2  代码重构 30

2.4  撤销和重做 33

2.5  本地历史记录 33

2.5.1  资源比较 33

2.5.2  替换为历史版本 34

2.5.3  恢复已删除资源 34

2.6  本章小结 34

第3章  (可视化)组合艺术 36

3.1  安装 36

3.2  使用 36

3.3  首选项 37

3.4  组合 37

3.5  Bean及Bean属性 38

3.5.1  通用Bean 38

3.5.2  属性 39

3.6  布局 39

3.7  事件处理 39

3.8  本章小结 40

第4章  组织代码 41

4.1  工作台 41

4.2  资源 42

4.2.1  资源类型 42

4.2.2  资源存储 42

4.2.3  资源同步 42

4.2.4  导航 42

4.3  关联 43

4.4  包 44

4.4.1  文件夹和包 44

4.4.2  导航 45

4.4.3  层次结构 45

4.5  大纲视图 46

4.5.1  表示 47

4.5.2  上下文功能 48

4.6  搜索 49

4.6.1  搜索功能 49

4.6.2  查找和替换 50

4.6.3  标记 51

4.7  部署编辑器和视图 51

4.7.1  停放窗口 51

4.7.2  叠放窗口 51

4.7.3  桌面窗口 52

4.7.4  快速视图 52

4.7.5  打开和关闭窗口 52

4.7.6  最大化窗口 52

4.7.7  最小化窗口 53

4.8  管理透视图 53

4.8.1  定义新透视图 53

4.8.2  配置透视图 54

4.9  导入文件 54

4.10  项目属性 56

4.11  Java浏览透视图 57

4.12  本章小结 58

第5章  项目1:Duke Speaks 59

5.1  创建项目 59

5.2  语音合成简介 60

5.3  扩展FreeTTS系统 60

5.3.1  动画事件 61

5.3.2  动画器 62

5.3.3  嵌入 66

5.3.4  连接Java音频系统 68

5.4  用户界面 69

5.4.1  动画效果的脸 69

5.4.2  控制面板 72

5.4.3  模型 72

5.4.4  表示 76

5.4.5  完整的应用程序 90

5.4.6  导出应用程序 93

5.5  参考文献 94

5.6  本章小结 94

第6章  项目开发 95

6.1  调试 95

6.1.1  调试配置 95

6.1.2  调试视图 96

6.1.3  控制程序执行 97

6.1.4  管理断点 98

6.1.5  Java console 99

6.1.6  远程调试 100

6.2  JUnit 100

6.2.1  准备JUnit 101

6.2.2  建立一个测试集 102

6.2.3  运行测试集 104

6.3  文档 105

6.3.1  试一下:Javadoc选项 105

6.3.2  再试一下:命令行选项 106

6.4  本章小结 107

第7章  项目开发高级专题 108

7.1  团队开发 108

7.1.1  建立存储库 108

7.1.2  存储库中的项目 110

7.1.3  版本管理 111

7.1.4  团队工作 111

7.1.5  其他功能 112

7.2  扩展工具 113

7.2.1  刷新 113

7.2.2  环境 113

7.2.3  关联 113

7.3  本章小结 114

第8章  SWT 库 115

8.1  SWT 功能组概览 116

8.2  SWT的优点与不足 117

8.2.1  SWT的优点 117

8.2.2  SWT的缺点 117

8.3  SWT包 118

8.4  事件 118

8.4.1  监听器 118

8.4.2  适配器 119

8.4.3  事件 119

8.4.4  监听器、适配器和事件概览 119

8.5  小部件 121

8.5.1  Widget类 121

8.5.2  Control类 122

8.5.3  可视化(小部件)概览 122

8.5.4  Display类、Shell类和

Monitor类 122

8.5.5  Dialog类 127

8.5.6  Composite、Group类和

Canvas类 130

8.5.7  Button类 130

8.5.8  Slider类和Scale类 132

8.5.9  ProcessBar类 133

8.5.10  Scrollable接口和ScrollBar类 133

8.5.11  Text类和Label类 133

8.5.12  表格、列表框和组合框 135

8.5.13  树形控件 139

8.5.14  Sash类 140

8.5.15  TabFolder类 141

8.5.16  ToolBar类 142

8.5.17  可移动的工具组 143

8.5.18  Menu类 143

8.5.19  自定义小部件 147

8.5.20  浏览器小部件 149

8.6  布局器 149

8.6.1  可视化布局器概览 150

8.6.2  FillLayout类 150

8.6.3  RowLayout类 150

8.6.4  GridLayout类 151

8.6.5  FormLayout类 153

8.6.6  StackLayout类 155

8.7  图形 156

8.7.1  图形上下文 156

8.7.2  颜色 157

8.7.3  字体 157

8.7.4  图像 158

8.7.5  Cursor类 160

8.8  在SWT中使用Swing 160

8.8.1  嵌入内容 161

8.8.2  事件 161

8.9  输出至打印机 166

8.10  数据传输 167

8.10.1  剪贴板 167

8.10.2  拖放 168

8.11  资源管理 169

8.12  Windows32支持(OLE) 170

8.13  Pocket PC上的SWT 170

8.14  访问性 171

8.15  本章小结 171

第9章  JFace 172

9.1  资源管理 172

9.1.1  类FontRegistry 172

9.1.2  类ImageRegistry 172

9.1.3  类JFaceColors 173

9.1.4  类JFaceResources 173

9.2  对话框和窗口 173

9.2.1  一些Dialog的子类 174

9.2.2  实现自己的对话框类 176

9.2.3  使对话框长时间运行 179

9.3  视图 180

9.3.1  视图事件模型 180

9.3.2  视图层次 181

9.3.3  单元格编辑器 182

9.3.4  数据传输 183

9.4  文本处理 183

9.4.1  文本处理基类 183

9.4.2  类ProjectionViewer 190

9.4.3  合适的文本字段和组合框 190

9.5  操作和菜单 190

9.5.1  接口IAction 190

9.5.2  管理器 191

9.6  向导 192

9.6.1  类Wizard 192

9.6.2  类WizardPage 193

9.6.3  类WizardSelectionPage 194

9.6.4  类WizardDialog 194

9.7  首选项 194

9.7.1  类PreferenceStore和

PrefenceConverter 194

9.7.2  类PreferencePage 195

9.7.3  字段编辑器 195

9.7.4  首选项页面树 197

9.8  本章小结 198

第10章  项目2:Jukebox 199

10.1  目标设计与实现 199

10.2  安装项目 200

10.3  播放器模块 202

10.3.1  布局 202

10.3.2  线程 203

10.3.3  类Player.java 203

10.3.4  接口BasicPlayerListener 220

10.4  播放清单领域模型 221

10.4.1  接口 221

10.4.2  实现接口IPlaylist 228

10.4.3  访问特性 230

10.4.4  管理记录 231

10.4.5  内容提供者 233

10.4.6  播放清单切换 233

10.4.7  选择 234

10.5  描述窗口 235

10.6  播放清单视图 238

10.6.1  类PlaylistWindow 239

10.6.2  类PlaylistViewer 241

10.6.3  嵌套的网格布局 248

10.6.4  工具栏 250

10.6.5  文件选择对话框 251

10.6.6  菜单 252

10.7  类PlaylistLabelProvider 255

10.7.1  返回一个警告图标 255

10.7.2  单元格文本 257

10.8  类FileCellEditor 258

10.9  描述编辑器 260

10.10  类DescriptionEditorDialog 261

10.10.1  代码扫描器 262

10.10.2  内容助手 263

10.10.3  SourceViewer配置 267

10.10.4  SourceViewer 268

10.11  部署Jukebox 270

10.12  本章小结 271

第11章  Eclipse平台的插件开发 273

11.1  Eclipse平台的体系结构 273

11.1.1  扩展点 274

11.1.2  OSGi 274

11.1.3  最简单的平台 274

11.1.4  RCP 与 IDE的比较 274

11.1.5  资源管理 275

11.1.6  用户界面 275

11.1.7  帮助系统 275

11.1.8  团队支持 276

11.1.9  其他插件组 276

11.1.10  体系结构小结 276

11.2  Eclispe平台的核心类 277

11.2.1  Platform(平台)类 277

11.2.2  Plugin(插件)类 277

11.2.3  Preference(首选项)类 278

11.2.4  路径规范 278

11.2.5  监控长时间运行的进程 279

11.3  Eclipse工作区 279

11.3.1  资源 279

11.3.2  标记 283

11.3.3  应对资源修改 283

11.3.4  长时间运行的进程管理 284

11.4  插件配置 285

11.4.1  插件开发透视图 285

11.4.2  插件清单 287

11.4.3  最重要的SDK扩展点 290

11.4.4  模式编辑器 296

11.5  Eclipse用户界面组件 298

11.5.1  表单 299

11.5.2  Eclipse工作台 304

11.5.3  Eclipse工作台的体系结构 305

11.5.4  Eclipse工作台的事件处理 306

11.5.5  编辑器 308

11.5.6  视图 314

11.5.7  操作 318

11.5.8  对话框 323

11.5.9  工作台向导 325

11.5.10  首选项与属性页 327

11.5.11  定义透视图 327

11.5.12  帮助系统 328

11.5.13  备忘单 332

11.6  本章小结 334

第12章  开发自己的Eclipse产品 335

12.1  嵌入式Ant 335

12.1.1  配置 336

12.1.2  编辑Ant脚本 337

12.2  插件与段 337

12.3  功能部件 338

12.4  部署 339

12.4.1  部署功能部件 340

12.4.2  部署完整的产品 340

12.4.3  自定义产品 341

12.4.4  填充工作空间 342

12.4.5  创建更新站点 344

12.5  从更新站点安装 346

12.5.1  添加更新站点 346

12.5.2  安装功能部件 346

12.5.3  更新功能部件 346

12.5.4  管理配置 347

12.5.5  安装句柄 347

12.6  产品国际化 347

12.6.1  程序中的文本常量 348

12.6.2  清单文件中的文本常量 349

12.6.3  帮助文本和备忘单 349

12.6.4  部署语言包 350

12.7  补丁 351

12.8  本章小结 351

第13章  项目3: Eclipse插件

 --Spell Checker 352

13.1  Spell Checker的核心类 353

13.1.1  引擎 353

13.1.2  概述 353

13.2  建立项目 354

13.3  插件配置 356

13.3.1  清单文件plugin.xml 356

13.3.2  模式document

Tokenizer.exsd 361

13.3.3  导入文件 362

13.4  类Plugin 362

13.4.1  字典URL 364

13.4.2  初始化首选项 365

13.4.3  管理器 366

13.5  拼写检查操作 367

13.5.1  类SpellCheckingTarget 367

13.5.2  工厂方法 369

13.5.3  选择 370

13.5.4  文档管理 371

13.5.5  文本替换 372

13.5.6  释放 373

13.5.7  类CheckSpellingAction

Delegate 374

13.6  修正窗口 382

13.6.1  类SpellCorrectionView 382

13.6.2  视图操作 392

13.6.3  管理图片 393

13.7  GUI类的对等核心类 395

13.7.1  管理器 395

13.7.2  选择插件 397

13.7.3  运行引擎 400

13.7.4  管理引擎 401

13.7.5  创建引擎 402

13.7.6  处理错误单词 403

13.7.7  操作 405

13.8  分析文档 406

13.9  配置Spell Checker 406

13.9.1  首选项 406

13.9.2  领域模型 406

13.9.3  GUI 408

13.9.4  读取PreferenceStore 414

13.10  帮助系统 415

13.10.1  帮助目录 415

13.10.2  上下文相关帮助 416

13.10.3  活动帮助 417

13.10.4  运行帮助操作 418

13.11  Java属性插件 419

13.11.1  创建项目 420

13.11.2  清单 420

13.11.3  Tokenizer扩展 421

13.11.4  清单 421

13.11.5  插件类 422

13.11.6  首选项 423

13.11.7  首选项页面 424

13.11.8  Java属性Tokenizer 425

13.11.9  帮助系统 426

13.12  Spell Checker的国际化 426

13.12.1  Java代码中的文本常量 426

13.12.2  清单文件中的文本常量 429

13.12.3  创建语言段 429

13.13  部署Spell Checker 432

13.13.1  定义Spell Checker

功能部件 432

13.13.2  配置Ant脚本 435

13.13.3  定义语言功能部件 437

13.13.4  定义更新站点 439

13.13.5  安装 440

13.14  本章小结 440

第14章  胖客户端平台 441

14.1  定义与动机 441

14.2  插件与RCP 442

14.3  创建应用程序 442

14.3.1  接口IPlatformRunnable 442

14.3.2  类WorkbenchAdvisor 443

14.4  测试胖客户端应用程序 445

14.5  部署胖客户端应用程序 446

14.6  高级产品自定义 446

14.7  全局欢迎界面 447

14.8  本章小结 447

第15章  项目4:胖客户端应用程序

——Hex游戏 448

15.1  概述 448

15.2  创建项目 449

15.3  清单文件plugin.xml 450

15.3.1  必需的Eclipse插件 450

15.3.2  声明应用程序 450

15.3.3  定义透视图 451

15.3.4  定义视图 451

15.3.5  产品自定义 451

15.3.6  链接欢迎界面 451

15.3.7  添加帮助 452

15.3.8  完整的清单文件 452

15.4  类RcpApplication 454

15.5  类RcpWorkbenchAdvisor 454

15.6  类RcpPerspective 455

15.7  接口IGame与IStatusListener 456

15.7.1  接口IStatusListener 456

15.7.2  接口IGame 456

15.8  类HexView 457

15.9  游戏引擎 463

15.10  欢迎界面 467

15.11  测试 469

15.12  部署 470

15.13  本章小结 470

第16章  总结与展望 472

16.1  编程风格 472

16.1.1  可执行的原型系统 472

16.1.2  自动测试 473

16.1.3  改进 473

16.1.4  拥抱变化 475

16.1.5  保存能量 475

16.2  Java 1.5 475

16.3  本章小结 477

附录A  一些有用的Eclipse插件 478

附录B  移植项目到新版本Eclipse 481

B.1  项目 481

B.2  插件 481

B.3  移植到Eclipse 3 482

附录C  重要下载 483

C.1  项目1:Duke Speakers 483

C.2  项目2:Jukebox 483

C.3  项目3:Spell Checker插件 483

C.4  本书站点 483