Eclipse从入门到精通(第2版)

Eclipse从入门到精通(第2版)"

作者:强锋科技、陈刚
ISBN:9787302155683
定价:¥62
字数:千字
页数:
出版时间:2007.07.01
开本:
版次:2-3
装帧:
出版社:清华大学出版社
简介

本书为《Eclipse从入门到精通》一书的全新改版。本书以最新的Eclipse 3.2作为写作版本。全书分为5篇:起步篇介绍了Eclipse及相关插件的安装,还介绍了一些Eclipse开发环境的基本使用技巧;SWT/JFace篇详细介绍了SWT、JFace的使用;插件开发篇详细讲解了Eclipse插件开发的各个步骤;RCP开发篇给出了一个基于数据库开发和面向对象分析设计的完整RCP项目实例;Web开发篇以Tomcat+Lomboz+Struts+

Hibernate为开发环境,详述了其下载、安装、配置和开发的全过程。本书以SWT/JFace、插件开发、RCP平台开发为核心内容,并兼顾了Web开发,Eclipse开发环境的使用只占极少部分。

本书内容循序渐进,实例丰富,操作及开发步骤讲解详细,配书光盘含有各主要章节的操作视频演示,是Eclipse开发者不可多得的教程。本书适合的读者对象见本书前言中的详细介绍。

前言

前    言

本书的形成

2003年末,我离开了深圳,离开了工作一年的管理岗位,收拾行囊来到北京,决定做一年程序员以更新自己的技术和知识结构。其后得到了IBM.CRL的一份工作,是用Eclipse插件的方式为我国台湾某银行开发一个项目管理软件。去的当天,同事演示了一个让我两眼放光的Demo,那是一个如此优秀和吸引人的GUI界面,让人难以相信它是用Java开发的。我曾经用AWT/Swing开发过GUI程序,但开发出来的界面总是感觉不好看。老实说,我并不希望自己再使用AWT/Swing来开发软件。

Eclipse插件开发需要用到SWT/JFace和其插件扩展机制的知识。当时资料很缺乏,仅在网上有一些零星的文章。但这些文章用来入门还可以,要正式开发则是远远不够的。幸运的是,我的同事都有着丰富的Eclipse插件开发经验,他们给了我很多帮助。

如今,很多大公司都聚集在Eclipse的开源大旗之下,这里面也包括Borland等公司。层出不穷的插件和应用不断丰富着Eclipse世界。在国外,Eclipse的开发和应用已经如火如荼,而国内在这方面还处于萌芽状态,主要原因还是缺乏相关的学习资料。我认为在国内推广Eclipse是一件很有意义的事,于是2004年10月我辞职在家专心著书,希望能把自己的开发经验集结成册,向同行们介绍Eclipse这种极有发展前途的开源软件。

2005年开始,Eclipse在国内以惊人的速度传播开来,市场上的Eclipse书籍遍地开花。而本书的第1版也正好赶上了这股风潮,受到了读者的热烈欢迎。两年过去了,对于迅猛发展中的Eclipse世界,本书第1版的内容已经有些过时了,很多工具和插件的版本都已经更新,变得更强大、更易用,当然其安装配置和使用也发生了一些变化。所以,我根据2007年年初最新版本的软件,重新写作了本书。

在写作第2版的过程中,除了重新组织文字和截图外,又增加了不少新内容,其中最重要的新内容就是RCP。为了不至于使页数过于膨胀,本书采取了紧缩式的排版,在不影响阅读的情况下紧缩代码格式,同时把多个截图尽量放在一行上,这样有效地压缩了水分,使得本书的内容更加充实。

本书面向的读者群

当前国内的Java程序员大致分3类:一类从事B/S模式开发,主要用J2EE和各种轻量级框架来编写Web应用;一类从事C/S模式开发,写Java胖客户端程序;还有一类是用J2ME来开发手机软件。本书主要满足了前两类读者的需求。

第1篇主要介绍Eclipse的基础应用,适用于所有Java程序员。内容包括Eclipse的安装与配置、Eclipse集成开发环境的使用技巧、CVS的安装与配置等。

第2、3、4篇主要针对Java胖客户端的开发者,介绍SWT/JFace中各组件的使用、插件的开发,最后详细给出了一个完整的RCP程序实例。

第5篇主要针对Web开发者,详细讲解Tomcat、Lomboz、Struts、Hibernate在Eclipse中的安装与配置,并且用一个贯穿全篇的实例来演示如何综合运用Struts、Hibernate来开发Web应用。这部分内容要求读者对JSP有一定的了解,但不要求读者了解Struts和Hibernate。

本书的内容结构

第1篇为起步篇,共5章。主要内容有:Eclipse及其多国语言包的下载、安装与配置;Eclipse集成开发环境的介绍和主要使用技巧;CVS服务器的安装及Eclipse中CVS客户端的使用等;用Eclipse编写JUnit单元测试。

第2篇为SWT/JFace篇,共13章。主要内容有:SWT的事件模型;SWT的各种常用组件及布局管理器的使用;图像和SWT多线程;JFace的表格、树、对话框、Form的使用;JFace数据绑定等前沿内容。

第3篇为插件开发篇,共5章。主要内容有:插件扩展点的使用;插件的国际化;用POI来输出报表;项目的打包与发行。

第4篇为RCP开发篇,共10章。给出了一个基于数据库开发和面向对象分析设计的完整RCP项目实例。

第5篇为Web开发篇,共4章。主要内容有:如何在Eclipse中搭建Web开发环境;如何在Eclipse中使用Struts和Hibernate来开发Web应用。

和市场上同类书籍相比,本书有何不同

现在市场上已经有不少的Eclipse相关书籍,这对Eclipse的普及很有益。但许多书不是太过于偏向Eclipse界面的使用,重复了Eclipse中文帮助文档中的内容,便是翻译国外的书。这些书不是很切合国内软件开发者的实际需求,而且在内容和写法上也不符合中国人的思维方式和阅读习惯。而且,截止本书完稿时还没有见到一本介绍RCP平台开发的书籍。

本书从实际开发软件的需求出发来介绍Eclipse,淡化了Eclipse开发环境的使用,强化了SWT/JFace、插件和RCP等内容,同时结合流行框架来说明如何用Eclipse开发Web应用。我本人也是一名程序员,本书大部分内容都是我所从事的实际项目开发中的经验总结,例子也大多脱胎于实际项目,所以本书应该更切合中国读者。

本书的特点和优势

? 实例丰富,用代码进行讲解。本书的写作理念是“代码是最好的教程”。本书所有知识点都有详实可运行的代码,并且这些代码都附有注释、说明及运行效果图。

? 注重实践,有具体的项目背景。本书面向实际项目开发而写,不谈高深理论,只讲实际应用,每一个知识点都以实际开发的需要来讲解,步骤详细,可操作性强。

? 行文流畅,通俗易读。本书有大量的附图,并且文字尽量避免艰深生涩,讲解内容循序渐进,有迹可寻。

? 内容超值,附多媒体视频光盘。为了保证读者在各种安装配置中能够成功,本书还特意制作了多媒体视频操作演示。这既节省了篇幅,为读者省下了一笔开支,同时还方便了读者学习。

? 网上答疑,方便读者。本书技术支持网址为http://www.chengang.com.cn,读者可以直接和我交流。

提示

? 本书所涉及各软件的下载地址有可能会随时间而发生变化,从而导致书中所记录的下载地址过时,而http://download.chengang.com.cn有本书所用软件的最新下载地址。

? 书中的代码大都没有给出import语句,建议读者不要手动输入书中代码,以防输入错误。可以充分利用配书光盘,复制其中的代码。同时,为了照顾有些去图书馆借书看的读者,光盘中的代码也放在本书技术支持网站上供下载。

感谢

在此,衷心感谢我的父母,没有父母的精心照顾,我无法完成此书;感谢张增强先生,他在排版及内容安排方面给了我很多的好意见;感谢我的同事黄俊、张浩(八进制)、黄钰,他们在工作中给了我很多Eclipse技术方面的帮助;感谢方正公司的武向辉,是他把我引荐给了张增强先生;感谢众多网友的厚爱,是他们提出了宝贵的意见和建议。

创作团队

本书由强锋科技统筹,由陈刚编写。其他参与编写、资料整理和光盘制作的人员有王龙、王拥东、吴善才、徐砚颖、尹健慧、詹涵林、张薇、张小强、张运端、赵玉荣、郑慧、朱博、朱朝坤、邹小红、陈强、陈燕、丁凤霞、丁礼友、范忠诚、黄俊灿、贾伟、李喜彤、林垚、尚文谊、孙亮亮、唐崇敏、陶则熙等。在此对大家的辛勤工作一并表示感谢!

由于本书内容繁杂,写作时间仓促,加之本人水平所限,书中可能存在不当之处,恳请广大读者批评指正,E-mail:glchengang@yeah.net。

陈  刚

2007年5月于广西桂林

目录

目    录

第1篇  起步篇

第1章  Eclipse简介 2

1.1  Eclipse的历史 2

1.2  Eclipse的体系结构 2

1.3  优秀的图形API:SWT/JFace 3

1.4  开放式可扩展的IDE 4

1.5  桌面应用程序的开发平台 5

1.6  全中文化的帮助文件 5

1.7  Eclipse是开放源代码的免费软件 6

第2章  安装Eclipse及其插件 7

2.1  安装JDK 7

2.1.1  下载JDK 7

2.1.2  安装JDK 7

2.1.3  检查安装是否正确 8

2.2  安装Eclipse 8

2.3  安装Eclipse多国语言包 10

2.3.1  安装方法 10

2.3.2  注意事项 11

2.4  复制式插件安装法(安装XMLBuddy) 12

2.5  URL式插件安装法(安装Log4E) 13

第3章  Eclipse的集成开发环境 15

3.1  Eclipse界面简介 15

3.2  创建Java项目和类,并运行 16

3.2.1  创建Java项目 17

3.2.2  创建类 18

3.2.3  运行 19

3.3  项目的属性 19

3.3.1  项目属性窗简介 19

3.3.2  项目的构建路径 20

3.4  代码模板与式样 23

3.4.1  代码模板 23

3.4.2  自定义注释 23

3.4.3  代码格式化 24

3.5  代码编写 26

3.5.1  重构 26

3.5.2  代码的自动生成 27

3.5.3  打开断言 28

3.5.4  类型过滤 29

3.6  代码阅读 30

3.6.1  搜索 30

3.6.2  打开类型 31

3.6.3  打开类型层次结构 31

3.6.4  查看JDK源代码 32

3.6.5  查看Eclipse的源代码 33

3.7  任务标记 35

3.7.1  任务标记的设定 35

3.7.2  过滤任务标记 35

3.8  调试器的使用 36

3.9  常用快捷键 38

第4章  Eclipse中CVS的使用 39

4.1  CVS简介 39

4.2  CVS服务器端的安装与配置 39

4.2.1  安装CVSNT 39

4.2.2  创建CVS资源库 40

4.2.3  为Windows用户设置访问CVS资源库的密码 40

4.3  CVS客户端的配置 41

4.3.1  配置Eclipse连接CVS服务器 41

4.3.2  将项目共享到CVS服务器 42

4.3.3  导入CVS服务器上的项目 43

4.4  文件的落实与更新 43

4.4.1  CVS和VSS的不同之处 43

4.4.2  文件的落实和更新 44

4.4.3  解决文件冲突 45

4.4.4  如何让CVS忽略掉某些文件 46

4.5  标记版本 46

4.5.1  为项目在CVS上标记一个版本 46

4.5.2  将项目还原为某版本 47

4.6  修正旧版本的BUG 47

4.6.1  把1.0版代码导入到一个新项目 47

4.6.2  基于1.0版代码创建一个分支 47

4.6.3  修改代码解决BUG 48

第5章  Eclipse中JUnit的使用 50

5.1  一个TDD开发实例 50

5.2  JUnit的标准项目结构 53

第2篇  SWT/JFace篇

第6章  SWT起步 58

6.1  SWT简介 58

6.2  SWT中的包 59

6.3  SWT的HelloWorld 60

6.3.1  创建插件项目 60

6.3.2  创建HelloWorld程序 60

6.3.3  运行HelloWorld 61

6.3.4  HelloWorld更进一步 62

6.3.5  SWT程序的界面结构 62

6.4  SWT事件的写法 63

6.4.1  匿名内部类写法 63

6.4.2  命名内部类写法 64

6.4.3  外部类写法 64

6.4.4  实现监听接口的写法 65

6.4.5  总结 65

6.5  在事件代码中访问变量 66

6.6  常用事件监听器 67

6.6.1  选择事件监听器SelectionListener 67

6.6.2  键盘事件监听器KeyListener 68

6.6.3  焦点事件监听器FocusListener 68

6.6.4  鼠标事件监听器MouseListener 68

6.6.5  注销事件监听器DisposeListener 69

6.6.6  组件专用的事件监听器 69

6.6.7  通用监听器Listener 69

第7章  安装Visual Editor插件 70

7.1  下载Visual Editor 70

7.2  安装Visual Editor 71

 

第8章  SWT常用组件 73

8.1  按钮、复选框、单选按钮(Button类) 73

8.1.1  一个Button类的实例 73

8.1.2  Button类的式样表 74

8.1.3  使用事件参数SelectionEvent 75

8.2  组件的常用方法 76

8.3  标签(Label类) 78

8.3.1  Label类的一个实例 78

8.3.2  Label类的式样列表 78

8.4  文本框(Text类) 79

8.4.1  一个Text的实例 79

8.4.2  Text类的式样列表 80

8.4.3  一个编辑框的实例 80

8.4.4  常用方法 80

8.5  下拉框(Combo类) 81

8.5.1  一个Combo类的实例 81

8.5.2  Combo类的式样列表 82

8.5.3  常用方法 82

8.6  列表框(List类) 83

8.6.1  一个List类的实例 83

8.6.2  List类的式样表 84

第9章  容器类 85

9.1  面板(Composite类) 85

9.1.1  Composite类谱系 85

9.1.2  Composite的用法 85

9.1.3  Composite的常用方法 86

9.2  分组框(Group类) 86

9.3  选项卡(TabFolder类和TabItem类) 86

9.4  分割窗(SashForm类) 88

9.5  带滚动条的面板(ScrolledComposite类) 89

9.6  窗口容器(Shell类) 90

9.6.1  Shell实例和式样 90

9.6.2  使窗口屏幕居中 91

9.6.3  两个Shell窗口的互动 91

9.6.4  另一种窗口(ApplicationWindow类) 92

第10章  布局管理器 94

10.1  布局管理器简介 94

10.2  充满式(FillLayout类) 95

10.3  行列式(RowLayout类) 96

10.3.1  使用RowLayout 96

10.3.2  使用RowData控制组件外观 97

10.4  网格式(GridLayout类) 98

10.4.1  使用GridLayout 98

10.4.2  使用GridData进行复杂布局 99

10.5  堆栈式(StackLayout类) 102

10.6  表格式(FormLayout类) 103

10.6.1  使用marginWidth、marginHeight设置边距 103

10.6.2  使用FormData 104

10.6.3  FormAttachment类的用法 104

10.7  综合布局实例 106

第11章  其他SWT组件 112

11.1  工具栏(ToolBar类、ToolItem类、ViewForm类) 112

11.2  动态工具栏(CoolBar类、CoolItem类) 113

11.3  菜单(Menu类、MenuItem类) 116

11.4  滑动条(Slider)、刻度条(Scale)、进度条(ProgressBar) 117

11.5  画布(Canvas类) 119

11.6  表格(Table类) 120

11.7  树、表格型树(Tree类) 122

11.8  浏览器(Browser类) 124

11.9  系统托盘(Tray类) 124

11.10  SWT组件的扩展 126

11.10.1  Label的扩展(CLabel类) 126

11.10.2  Text的扩展(StyledText类) 126

第12章  图像、颜色、字体 128

12.1  图像(Image类) 128

12.2  Image类的注意事项 130

12.2.1  自己创建的,自己销毁 131

12.2.2  父组件销毁,其子组件也会自动销毁 131

12.3  图像描述符(ImageDescriptor类) 131

12.3.1  createFromFile方法 132

12.3.2  createFromURL方法 132

12.3.3  ImageDescriptor总结 132

12.4  图像注册表(ImageRegistry类) 132

12.5  颜色(Color类)和字体(Font类) 133

 

第13章  SWT的线程 135

13.1  SWT线程简介 135

13.2  一个SWT线程的实例 136

13.3  对11.4节进度条实例的改进 141

13.4  状态栏里的进度条 141

13.5  支持动画GIF的组件 145

第14章  表格(TableViewer类) 149

14.1  概述 149

14.2  创建表格并显示数据 150

14.2.1  实例的数据模型介绍 150

14.2.2  创建数据表的实体类 150

14.2.3  数据的生成 151

14.2.4  在表格中显示数据 152

14.3  响应鼠标双击事件 155

14.4  给表格加上右键菜单(Action类、ActionGroup类、MenuManager类) 156

14.4.1  Action、ActionGroup、MenuManager介绍 157

14.4.2  创建Action和ActionGroup 157

14.4.3  在主程序中使用ActionGroup、MenuManager 158

14.5  表格的排序(ViewerSorter类) 159

14.5.1  编写排序器ViewerSorter 159

14.5.2  为表格列添加事件监听器 160

14.6  给表格加上工具栏(ToolBarManager类) 161

14.6.1  创建Action类并填充进工具栏 161

14.6.2  用ViewForm做布局调整 163

14.7  带复选框的表格(CheckboxTableViewer类) 164

14.7.1  使用表格的复选框式样 164

14.7.2  修改MyActionGroup类 165

14.8  让表格可直接编辑(CellEditor类、ICellModifier接口) 167

14.8.1  设置编辑组件CellEditor 167

14.8.2  创建修改器ICellModifier 168

14.9  其他使用技巧 170

14.9.1  表格记录的过滤 170

14.9.2  控制表格的当前选择行 170

14.9.3  给表格的单元格设置背景色 171

14.9.4  加快TableItem和记录之间的查找速度 171

第15章  树(TreeViewer)和列表(ListViewer) 172

15.1  概述 172

15.2  前期准备:实例所用数据模型说明 172

15.2.1  建立国家实体和城市实体 172

15.2.2  建立树结点的接口类 173

15.2.3  让国家、城市、人3个实体类实现此接口 174

15.3  让数据在树中显示出来 174

15.3.1  创建树的数据结构 175

15.3.2  创建主程序 176

15.3.3  标签器(实现ILabelProvider接口) 176

15.3.4  内容器(实现ITreeContentProvider接口) 177

15.4  给树加上右键菜单,及实现菜单相应功能 179

15.5  不同结点显示不同菜单 183

15.6  表格型树 183

15.7  带复选框的树 185

15.8  列表(ListViewer类) 187

15.8.1  ListViewer简介 187

15.8.2  ListViewer的实例 187

15.8.3  ListViewer的常用方法 188

第16章  对话框 189

16.1  对话框(Dialog类) 189

16.1.1  对话框简介 189

16.1.2  信息提示框(MessageDialog类) 189

16.1.3  输入值对话框(InputDialog类) 191

16.1.4  自定义对话框(Dialog类) 192

16.1.5  对话框的设置与取值 194

16.1.6  封装对话框中的数据到一个数据类 196

16.1.7  保存对话框的值(IDialogSettings类) 198

16.1.8  带提示栏的对话框(TitleAreaDialog类) 199

16.2  向导式对话框(WizardDialog类) 200

16.2.1  向导式对话框简介 200

16.2.2  向导式对话框实例 201

16.3  进度条对话框(ProgressMonitorDialog类) 205

16.3.1  进度条对话框简介 205

16.3.2  标准的进度条对话框 205

16.3.3  反复显示的进度条对话框 207

16.3.4  封装反复显示的进度条对话框 208

16.3.5  用动画GIF来表示进度 210

16.4  其他类型对话框 211

16.4.1  信息提示框(MessageBox类) 211

16.4.2  颜色选择对话框(ColorDialog类) 212

16.4.3  字体选择对话框(FontDialog类) 213

16.4.4  打印设置对话框(PrintDialog类) 213

16.4.5  选择对话框(DirectoryDialog类) 214

16.4.6  文件选择对话框(FileDialog类) 214

第17章  Form的使用 216

17.1  Form概述 216

17.2  Form的HelloWorld 217

17.3  在Form中使用SWT组件 218

17.4  Form的新布局 219

17.4.1  TableWrapLayout布局 219

17.4.2  ColumnLayout布局 220

17.5  Form的专用组件 221

17.5.1  超链接(Hyperlink类) 221

17.5.2  带图像的超链接(ImageHyperlink类) 221

17.5.3  可伸缩面板(ExpandableComposite类) 222

17.5.4  可伸缩项(Section类) 223

17.5.5  网页效果的文本(FormText类) 224

17.5.6  带标题的面板(Form类) 225

17.5.7  带滚动条的Form面板(ScrolledForm类) 225

17.5.8  用面板做分隔栏(createCompositeSeparator方法) 226

17.5.9  堆栈式面板(ScrolledPageBook类) 226

第18章  高级话题 227

18.1  嵌入AWT/SWING组件 227

18.2  组件的拖动功能(Drag and Drop) 227

18.3  访问ActiveX 230

18.3.1  在SWT中打开Word文档 231

18.3.2  在OLE容器中加入菜单 231

18.3.3  调用ActiveX控件的内部方法 232

18.3.4  使用Flash控件 234

18.4  数据绑定(JFace data binding framework) 235

18.4.1  准备工作 235

18.4.2  数据绑定的简单示例 237

18.4.3  使用BindSpec类定义特殊绑定 238

18.4.4  TableViewer的数据绑定 241

18.4.5  Combo绑定和联动 242

 

第3篇  插件开发篇

第19章  Eclipse插件开发起步 246

19.1  Eclipse插件开发概述 246

19.1.1  插件开发简介 246

19.1.2  Eclipse插件开发的优势和不足 246

19.2  创建HelloWorld插件 247

19.2.1  新建插件项目 247

19.2.2  运行插件 247

19.3  解读HelloWorld插件 248

19.3.1  Activator.java 248

19.3.2  SampleAction.java 249

19.3.3  plugin.xml 249

19.3.4  MANIFEST.MF 251

19.3.5  build.properties 252

19.4  修改HelloWorld插件 252

19.4.1  规范包名 252

19.4.2  修改插件信息 253

19.4.3  “运行”窗口 253

19.4.4  精简依赖插件,处理依赖错误 254

第20章  常用插件扩展点 255

20.1  加入透视图(perspectives) 255

20.1.1  修改plugin.xml文件,设置透视图的扩展点 255

20.1.2  建立透视图类 256

20.1.3  运行插件 256

20.1.4  总结 256

20.2  在透视图中加入视图(views) 256

20.2.1  修改plugin.xml文件,设置视图的扩展点 256

20.2.2  创建视图类 258

20.2.3  修改透视图类SamplePerspective 258

20.2.4  运行插件 259

20.3  在视图之间实现事件监听 259

20.3.1  主动式 259

20.3.2  监听式 261

20.4  给视图加下拉菜单和按钮 264

20.4.1  创建ActionGroup类 264

20.4.2  修改View1类 265

20.5  加入编辑器(editors) 266

20.5.1  修改plugin.xml文件,设置3个编辑器的扩展点 266

20.5.2  创建3个编辑器类 267

20.5.3  创建IEditorInput 268

20.5.4  打开编辑器 269

20.5.5  总结 270

20.6  编辑器类方法的使用说明 270

20.6.1  EditorPart方法的执行情况 270

20.6.2  各方法的作用及含义 271

20.6.3  一个编辑器实例 271

20.7  加入首选项(preferencePages) 273

20.7.1  修改plugin.xml文件,设置首选项的扩展点 273

20.7.2  建立首选项各结点对应的类 274

20.7.3  运行插件 276

20.7.4  总结 277

20.8  加入帮助(toc) 277

20.8.1  修改plugin.xml文件,设置3个帮助的扩展点 277

20.8.2  编写帮助文件toc 278

20.8.3  创建相应的帮助文档 279

20.8.4  运行插件 279

20.8.5  总结 280

20.9  上下文帮助(contexts) 280

20.9.1  在plugin.xml中设置扩展点 281

20.9.2  编写配置文件mycontexts.xml 281

20.9.3  创建HTML帮助文件 281

20.9.4  将帮助信息和界面组件关联起来 282

20.9.5  总结 282

第21章  Eclipse插件的国际化 283

21.1  国际化简介 283

21.2  为国际化创建一个插件的“段项目” 283

21.3  类程序的国际化 284

21.3.1  国际化前的准备工作 284

21.3.2  创建Message类 285

21.3.3  创建*.properties资源文件 286

21.3.4  修改myplugin项目的程序 288

21.3.5  运行插件,测试国际化 288

21.3.6  实践建议 289

21.4  plugin.xml的国际化 289

21.4.1  创建plugin.xml的资源文件 289

21.4.2  修改plugin.xml文件 290

21.4.3  运行插件,测试plugin.xml的国际化 290

21.5  其他XML文件的国际化 290

21.5.1  在myplugin.nl1项目创建国际化所需的结构 291

21.5.2  修改各语言的XML文档 291

21.6  使用“外部化字符串”向导 291

21.6.1  运用“外部化字符串”向导的步骤 292

21.6.2  向导完成后的处理 293

第22章  报表:用POI与Excel交互 294

22.1  POI的下载与安装 294

22.1.1  POI的下载 294

22.1.2  POI的安装 294

22.2  将数据导出成Excel的实例 296

22.2.1  创建一个空白的Excel文件 296

22.2.2  往Excel单元格中写入信息 296

22.2.3  中文化的问题 297

22.3  使用式样 298

22.3.1  日期式样及文字对齐式样 298

22.3.2  边框式样 299

22.3.3  背景色及底纹式样 300

22.3.4  合并单元格 300

22.3.5  字体式样 301

22.4  更多的用法 302

22.4.1  设置页眉页脚 302

22.4.2  冻结和分割窗 302

22.4.3  浮动文字框及在表中画图 303

22.4.4  设置打印的范围 304

22.4.5  读取及修改Excel 304

第23章  项目的打包与发行 305

23.1  应用程序项目的打包与发行 305

23.1.1  简介 305

23.1.2  打包的具体操作步骤 305

23.1.3  其他得到JAR包的方式 309

23.1.4  用Fat Jar插件打包项目 309

23.1.5  让用户不必另外安装JRE环境 310

23.1.6  创建EXE执行文件及美化图标 311

23.1.7  打包的其他说明 312

23.2  插件项目的打包与发行 312

23.2.1  简介 312

23.2.2  插件打包的具体操作步骤 312

23.2.3  测试打包效果 314

23.3  用Ant来打包 314

23.3.1  检查环境变量 315

23.3.2  准备Ant脚本所需文件 315

23.3.3  创建Ant脚本 315

23.3.4  解读Ant脚本 317

23.3.5  运行Ant脚本 320

第4篇  RCP开发篇

第24章  RCP平台开发起步 322

24.1  创建RCP项目(V001) 322

24.2  解读RCP项目 323

24.2.1  plugin.xml:设置扩展点 324

24.2.2  Application类:入口类 324

24.2.3  ApplicationWorkbenchAdvisor类:确定透视图 325

24.2.4  ApplicationWorkbenchWindowAdvisor类:工作台窗口 325

24.2.5  ApplicationActionBarAdvisor类:窗口元素 326

24.3  主菜单、工具栏、状态栏(V002) 327

24.3.1  打开主菜单、工具栏、状态栏 327

24.3.2  添加多个Action 327

24.3.3  修改Activator类 329

24.4  全局快捷键(V003) 329

24.5  重构和项目调整 330

24.5.1  重构(V004) 330

24.5.2  项目调整(V005) 331

第25章  建立MySQL数据库环境(V006) 332

25.1  下载MySQL等软件包 332

25.1.1  下载MySQL 332

25.1.2  下载JDBC连接包 332

25.1.3  下载GUI Tools 333

25.2  安装MySQL 333

25.3  RCP程序连接数据库 336

25.3.1  安装JDBC连接包 336

25.3.2  建库和建表 337

25.3.3  插入数据和查询数据 339

25.4  解决Java的中文问题 340

25.4.1  字符集简介 340

25.4.2  SMS项目的字符集配置方案 342

第26章  需求分析及数据模型(V007) 344

26.1  软件开发过程 344

26.2  界面原型 345

26.3  面向对象的分析与设计 346

26.3.1  用户对象:学生、老师 348

26.3.2  课程(Course)、班级(SchoolClass)、年级(Grade)对象 350

26.3.3  学生成绩(StudentScore)、考试(Exam)对象 352

26.3.4  总结 353

26.4  创建数据表 353

26.4.1  创建表的方式方法 354

26.4.2  创建表的SQL语句 354

26.4.3  在MySQL Query Browser中运行SQL脚本 356

26.5  给数据表插入数据 357

第27章  创建主界面框架 360

27.1  创建主功能视图(V008) 360

27.2  创建功能导航器中的树(V009) 362

27.3  创建项目的图像注册表(V010) 365

第28章  用户登录与退出 369

28.1  实现方案 369

28.2  界面部分的源代码(V011) 370

28.3  数据库部分的源代码(V011) 375

28.4  让软件适应多种数据库(V012) 379

28.4.1  解决方案 380

28.4.2  具体实现的源代码 380

第29章  “档案管理”编辑器的实现 383

29.1  前言 383

29.2  实现编辑器及排序、翻页功能(V013) 383

29.3  实现删除用户功能(V014) 394

29.4  实现新增用户的向导对话框(V015) 396

29.5  实现修改用户的功能(V016) 408

29.6  让编辑器实现登录退出监听(V017) 413

第30章  “搜索视图”的实现(V018) 415

30.1  前言 415

30.2  单击结点打开视图 415

30.3  实现搜索视图SearchView 416

30.4  实现“成绩管理”编辑器 420

第31章  让软件更友好 424

31.1  首选项的实现(V019) 424

31.1.1  在RCP项目中显示首选项窗口 424

31.1.2  首选项的源代码 425

31.1.3  将程序中的设置值改成取之于首选项的设置 429

31.1.4  运行 429

31.2  进度条的实现(V020) 430

31.2.1  为演示实例做准备 430

31.2.2  基本实例 430

31.2.3  定时执行任务和Job监听器 431

31.2.4  IProgressService类的使用 432

31.3  状态栏的使用(V021) 433

31.4  使用控制台视图 434

31.4.1  程序直接调用方式(V022) 434

31.4.2  控制台的扩展点(V023) 435

第32章  RCP项目的打包与发行(V024) 438

32.1  使用product文件配置和导出项目 438

32.1.1  创建product文件 438

32.1.2  修改product文件的“概述”界面 438

32.1.3  修改product文件的“启动程序”界面 440

32.1.4  修改product文件的“标记”界面 440

32.1.5  弧型Tab、进度条等效果 441

32.1.6  导出SMS项目 443

32.2  处理RCP项目的运行错误 444

32.3  在Java Web Start中使用RCP 445

32.3.1  WebRCP简介 445

32.3.2  在WebRCP中安装SMS项目的操作步骤 446

32.3.3  运行,查看WebRCP效果 447

32.4  Java Web Start的证书 447

32.4.1  生成证书 448

32.4.2  用证书为webrcp.jar文件进行数字签名 448

32.4.3  替换证书后的效果 448

第33章  让软件具有更好的扩展性 450

33.1  将软件模块插件化的思路 450

33.2  把插件安装到RCP项目 451

33.3  插件之间的互相依赖 451

33.4  多个插件共享jar包 452

33.5  自定义扩展点(V025) 452

33.5.1  增加一个自定义扩展点 453

33.5.2  使用自定义扩展点 453

33.5.3  创建扩展点定义的类PluginNavigatorEntry 454

33.5.4  读取扩展点定义的信息 454

33.5.5  总结 455

33.5.6  创建扩展点的schema文件 455

第5篇  Web开发篇

第34章  Web环境的搭建(V001) 458

34.1  概述 458

34.2  Tomcat的下载与安装 459

34.2.1  下载Tomcat 459

34.2.2  安装Tomcat 459

34.2.3  确认Tomcat安装成功 460

34.3  Lomboz的下载与安装 461

34.3.1  下载Lomboz 461

34.3.2  安装Lomboz 461

34.3.3  Lomboz的环境设置 462

34.3.4  使用Lomboz应注意的问题 463

34.5  JSP的HelloWorld 463

34.5.1  创建一个Web项目 463

34.5.2  创建一个JSP文件 465

34.5.3  web.xml错误的解决 465

34.5.4  在Lomboz中启动Tomcat 466

34.5.5  一些相关问题 467

34.6  配置Tomcat的数据库连接池 468

34.6.1  复制JDBC连接包 468

34.6.2  安装Tomcat的管理模块并配置 468

34.6.3  修改Tomcat的context.xml文件 469

34.6.4  测试数据库连接池 469

 

第35章  一个纯JSP+JavaBean实例(V002) 472

35.1  创建JavaBean 472

35.1.1  修改AbstractDbOperate类 473

35.1.2  修改数据库连接管理器ConnectManager类 473

35.1.3  在Constants类中增加一个字符串常量 474

35.1.4  修改工厂类SmsFactory 474

35.2  编写JSP文件 474

35.2.1  实例的流程及效果 474

35.2.2  JSP文件说明 475

35.2.3  JSP文件的源代码 475

35.2.4  使用JSP应注意的问题 478

第36章  在Eclipse中使用Struts 479

36.1  Struts的下载及安装 479

36.1.1  下载 479

36.1.2  安装 480

36.2  Struts入门实例(V003) 481

36.2.1  Struts原理简介 481

36.2.2  用户登录实例 482

36.3  让Dreamweaver支持Struts标签 489

36.3.1  下载与安装支持Struts标签的插件 489

36.3.2  将Struts标签添加到Dreamweaver中 490

36.3.3  插件的效果 490

36.4  深入struts-config.xml 491

36.4.1  页面转发 491

36.4.2  <form-beans>项之动态ActionForm 492

36.4.3  <action-mappings>项 493

36.4.4  使用DispatchAction类 493

36.4.5  使用多个struts-config.xml配置文件 494

36.4.6  解决命名冲突 495

36.5  验证的多种方法 495

36.5.1  方法1 495

36.5.2  方法2(V004) 496

36.6  使用更多的Struts标签 502

36.6.1  获知更多的标签 502

36.6.2  表单类标签 503

36.6.3  其他说明 505

 

第37章  在Eclipse中使用Hibernate 506

37.1  概述 506

37.1.1  持久化框架产生的背景和现状 506

37.1.2  Hibernate简介 507

37.1.3  本章说明 507

37.2  Hibernate的下载和安装 508

37.2.1  下载 508

37.2.2  安装 509

37.3  一个简单的Hibernate实例(V005) 509

37.3.1  创建Hibernate配置文件:hibernate.cfg.xml 509

37.3.2  创建XML映射文件:model.hbm.xml 510

37.3.3  创建HibernateUtil类 511

37.3.4  创建GradeManager类 512

37.3.5  创建hibernateTest.jsp 513

37.3.6  总结及实践建议 514

37.4  继续深入使用Hibernate(V006) 514

37.4.1  修改XML映射文件 515

37.4.2  数据库操作类的实现 518

37.4.3  修改使用DbOperate类的程序 520

37.5  实现用户的修改、删除功能(V007) 522

37.5.1  界面效果及功能说明 522

37.5.2  在DbOperate类增加方法 522

37.5.3  在用户列表userList.jsp文件增加两个超链接 523

37.5.4  在Struts配置文件struts-config.xml中增加一个action定义 524

37.5.5  修改UserForm类 524

37.5.6  创建UserAction类 525

37.5.7  创建modifyUser.jsp 526

37.6  解决Tomcat的中文问题(V008) 527

37.7  Web的打包发行 528

37.8  Hibernate的自动生成工具 529

37.8.1  由XML映射文件生成数据库表(V009) 529

37.8.2  使用Hibernate Tools 530

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个