﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-子在川上曰-随笔分类-Eclipse从入门到精通</title><link>http://www.blogjava.net/chengang/category/8707.html</link><description>　　逝者如斯夫不舍昼夜</description><language>zh-cn</language><lastBuildDate>Wed, 03 Jan 2018 21:21:10 GMT</lastBuildDate><pubDate>Wed, 03 Jan 2018 21:21:10 GMT</pubDate><ttl>60</ttl><item><title>《Eclipse从入门到精通》随书光盘地址</title><link>http://www.blogjava.net/chengang/archive/2017/12/29/432993.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Fri, 29 Dec 2017 07:37:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2017/12/29/432993.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/432993.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2017/12/29/432993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/432993.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/432993.html</trackback:ping><description><![CDATA[<div>我的新博客地址：&nbsp;<a href="http://www.yowob.cn">yowob.cn</a></div>
<div><br />
<div><span style="font-family: arial;">书的软件和代码放在百度网盘：</span><a href="https://pan.baidu.com/s/1kVb31aR" _src="https://pan.baidu.com/s/1kVb31aR" target="_blank" style="word-break: break-word; font-family: arial;">https://pan.baidu.com/s/1kVb31aR</a></div>
<div><br />
</div>
<div><br />
</div>
</div><img src ="http://www.blogjava.net/chengang/aggbug/432993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2017-12-29 15:37 <a href="http://www.blogjava.net/chengang/archive/2017/12/29/432993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>循序渐进的学习java的道路(主要是WEB方面)</title><link>http://www.blogjava.net/chengang/archive/2007/04/25/113469.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Wed, 25 Apr 2007 03:58:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2007/04/25/113469.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/113469.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2007/04/25/113469.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/113469.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/113469.html</trackback:ping><description><![CDATA[<font face=Verdana size=2>接来信<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">陈刚老师你好，拜读了你《Eclipse从入门到精通》感觉受益匪浅。感觉你是很用心在写这本书的，不像一些书，东拼西凑出来的。同时也有一些java学习的问题想请教你~&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>我是05级的毕业生，工作过一年，去年8月辞职，现在考上华南理工大学计算机的研究生。想向你请教如何学习java以及计算机知识，免得走弯路，虚度了3年研究生。&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>我以前的公司是做产品的，是一个报表软件,叫JReport。基于J2EE的，不过我在公司也就负责dhtml这一块，主要都是在做维护，主要是使用servlet和jsp。&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>但是感觉自己什么也没有学到。&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>现在不知道到从何学起。感觉自己一路过来学的太杂了，C/C++，也学了一段时间，但是都没有坚持下去，JAVA也学的不精通，都是皮毛知识。&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>希望你能给我指出一条循序渐进的学习java的道路，主要是WEB方面，导师的实验室现在也主要是用具J2EE做开发~&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>我希望能够把自己的基础打好，而不是追赶什么新技术~&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>希望在这方面你能给我指点一二，&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>期待你的回复,谢谢!&nbsp;</span></div>
</font><br>回复：<br>基本入门：Java基本语法 (SWING部份可省略不看)<br>开发入门：JSP + JavaBean (不用太深入，知道是怎么回事就可以了)<br>开发框架：Struts+Spring+Hibernate (这是现在最流行的轻量级开发框架，要精通。最好用此框架搭配写一个网站，练练手)<br>扩展：如果是用J2EE开发，J2EE里包含很多东西：EJB、JMS、JMX，JNDI等等都在J2EE范畴。主要是你们的技术选型了。技术这种东西一直在发展，永远学不完，最好是用什么学什么，学习能力一定要强。<br><br><br>其他：<br>。数据库Oracle、MySQL，不用太精通，能连接上，能查询数据，插入数据就可以了，毕竟我们不是做DBA<br>。JAVA设计模式，需要在长期实践中不断磨练的内功，不是光看书就能搞定的。<br>。JUnit&nbsp;、Ant等工具，看起来无关紧要，其实对项目开发还是挺重要的。<br><br>另外：<br>如果做前台，则AJAX&nbsp; (Javascript、CSS)要精通，现在都在用这玩艺了。
<img src ="http://www.blogjava.net/chengang/aggbug/113469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2007-04-25 11:58 <a href="http://www.blogjava.net/chengang/archive/2007/04/25/113469.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Eclipse从入门到精通》第二版已面市</title><link>http://www.blogjava.net/chengang/archive/2007/04/05/106226.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Thu, 05 Apr 2007 03:42:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2007/04/05/106226.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/106226.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2007/04/05/106226.html#Feedback</comments><slash:comments>120</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/106226.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/106226.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
我7月18日收到了出版社寄来的样书，纸张比第一版要好了很多，厚度比第一张增加了足足四分一。<br />
<br />
<ul>
    <li>这本书针对的是<span style="color: red;">Eclipse3.2.1版</span>，书中所用到的所有软件包都是在2006年12月所能得到的最新版，如JDK用的是1.5.0。</li>
    <li>文字表述都做了重新组织，尽量更通顺更易读。书中的图片大都重新截图。</li>
    <li>代码在不影响美观的情况下采用紧缩式排版，能写成一行的，绝不分做两行，尽量压缩水份。</li>
    <li>废弃了SWT Desiger，<span style="color: red;">改用开源的VE</span>。</li>
    <li>新版SWT有些变化，一些类和方法不再支持，所以书中例子代码也都对新API做了更新。</li>
    <li>加入了一些新技术，比如JFace Data Binding，还介绍了拖拽（Drog and Drop）、Form表单API的使用。</li>
    <li>本书最大的变化是把插件实践一篇的SMS项目，用RCP框架来重新实现，成为<span style="color: red;">独立的&#8220;RCP开发篇&#8221;</span>，篇中还详细讨论了如何用Java Web Start和WebRCP来布署RCP应用。</li>
    <li>新版Lomboz的变化也是很大的，使用和过去完全不同。</li>
    <li>Hibernate已废弃了它的扩展工具包，而做成了一个Eclipse插件叫Hibernate Tools，本书对此插件也做了使用介绍。<br />
    </li>
    <li>光盘中的视频操作全部重新录制，改成FLASH格式。</li>
    <li>光盘包含将书中所用软件，但由于光盘容量所限，JDK和MySQL等几个软件包没有被加入进来，读者只能从网站上自行下载了。</li>
</ul>
<br />
目&nbsp;&nbsp;&nbsp; 录<br />
第1篇&nbsp; 起步篇<br />
第1章&nbsp; Eclipse简介&nbsp;&nbsp;&nbsp; 263<br />
1.1&nbsp; Eclipse的历史&nbsp;&nbsp;&nbsp; 263<br />
1.2&nbsp; Eclipse的体系结构&nbsp;&nbsp;&nbsp; 263<br />
1.3&nbsp; 优秀的图形API：SWT/JFace&nbsp;&nbsp;&nbsp; 264<br />
1.4&nbsp; 开放式可扩展的IDE&nbsp;&nbsp;&nbsp; 265<br />
1.5　桌面应用程序的开发平台&nbsp;&nbsp;&nbsp; 266<br />
1.6&nbsp; 全中文化的帮助文件&nbsp;&nbsp;&nbsp; 266<br />
1.7&nbsp; Eclipse是开放源代码的免费软件&nbsp;&nbsp;&nbsp; 267<br />
第2章&nbsp; 安装Eclipse及其插件&nbsp;&nbsp;&nbsp; 268<br />
2.1&nbsp; 安装JDK&nbsp;&nbsp;&nbsp; 268<br />
2.1.1&nbsp; 下载JDK&nbsp;&nbsp;&nbsp; 268<br />
2.1.2&nbsp; 安装JDK&nbsp;&nbsp;&nbsp; 268<br />
2.1.3&nbsp; 检查安装是否正确&nbsp;&nbsp;&nbsp; 269<br />
2.2&nbsp; 安装Eclipse&nbsp;&nbsp;&nbsp; 269<br />
2.3&nbsp; 安装Eclipse多国语言包&nbsp;&nbsp;&nbsp; 271<br />
2.3.1&nbsp; 安装方法&nbsp;&nbsp;&nbsp; 271<br />
2.3.2&nbsp; 注意事项&nbsp;&nbsp;&nbsp; 272<br />
2.4　复制式插件安装法（安装XMLBuddy）&nbsp;&nbsp;&nbsp; 273<br />
2.5　URL式插件安装法（安装Log4E）&nbsp;&nbsp;&nbsp; 274<br />
第3章&nbsp; Eclipse的集成开发环境&nbsp;&nbsp;&nbsp; 276<br />
3.1&nbsp; Eclipse界面简介&nbsp;&nbsp;&nbsp; 276<br />
3.2&nbsp; 创建Java项目和类，并运行&nbsp;&nbsp;&nbsp; 277<br />
3.2.1　创建Java项目&nbsp;&nbsp;&nbsp; 278<br />
3.2.2　创建类&nbsp;&nbsp;&nbsp; 279<br />
3.2.3　运行&nbsp;&nbsp;&nbsp; 280<br />
3.3　项目的属性&nbsp;&nbsp;&nbsp; 281<br />
3.3.1&nbsp; 项目属性窗简介&nbsp;&nbsp;&nbsp; 281<br />
3.3.2&nbsp; 项目的构建路径&nbsp;&nbsp;&nbsp; 281<br />
3.4&nbsp; 代码模板与式样&nbsp;&nbsp;&nbsp; 284<br />
3.4.1　代码模板&nbsp;&nbsp;&nbsp; 284<br />
3.4.2&nbsp; 自定义注释&nbsp;&nbsp;&nbsp; 285<br />
3.4.3&nbsp; 代码格式化&nbsp;&nbsp;&nbsp; 286<br />
3.5　代码编写&nbsp;&nbsp;&nbsp; 288<br />
3.5.1&nbsp; 重构&nbsp;&nbsp;&nbsp; 288<br />
3.5.2&nbsp; 代码的自动生成&nbsp;&nbsp;&nbsp; 288<br />
3.5.3　打开断言&nbsp;&nbsp;&nbsp; 290<br />
3.5.4　类型过滤&nbsp;&nbsp;&nbsp; 291<br />
3.6&nbsp; 代码阅读&nbsp;&nbsp;&nbsp; 292<br />
3.6.1　搜索&nbsp;&nbsp;&nbsp; 292<br />
3.6.2　打开类型&nbsp;&nbsp;&nbsp; 293<br />
3.6.3&nbsp; 打开类型层次结构&nbsp;&nbsp;&nbsp; 294<br />
3.6.4&nbsp; 查看JDK源代码&nbsp;&nbsp;&nbsp; 294<br />
3.6.5&nbsp; 查看Eclipse的源代码&nbsp;&nbsp;&nbsp; 295<br />
3.7&nbsp; 任务标记&nbsp;&nbsp;&nbsp; 297<br />
3.7.1&nbsp; 任务标记的设定&nbsp;&nbsp;&nbsp; 297<br />
3.7.2&nbsp; 过滤任务标记&nbsp;&nbsp;&nbsp; 298<br />
3.8&nbsp; 调试器的使用&nbsp;&nbsp;&nbsp; 299<br />
3.9&nbsp; 常用快捷键&nbsp;&nbsp;&nbsp; 301<br />
第4章&nbsp; Eclipse中CVS的使用&nbsp;&nbsp;&nbsp; 302<br />
4.1&nbsp; CVS简介&nbsp;&nbsp;&nbsp; 302<br />
4.2&nbsp; CVS服务器端的安装与配置&nbsp;&nbsp;&nbsp; 302<br />
4.2.1&nbsp; 安装CVSNT&nbsp;&nbsp;&nbsp; 302<br />
4.2.2&nbsp; 创建CVS资源库&nbsp;&nbsp;&nbsp; 303<br />
4.2.3&nbsp; 为Windows用户设置访问CVS资源库的密码&nbsp;&nbsp;&nbsp; 303<br />
4.3&nbsp; CVS客户端的配置&nbsp;&nbsp;&nbsp; 304<br />
4.3.1&nbsp; 配置Eclipse连接CVS服务器&nbsp;&nbsp;&nbsp; 304<br />
4.3.2&nbsp; 将项目共享到CVS服务器&nbsp;&nbsp;&nbsp; 305<br />
4.3.3&nbsp; 导入CVS服务器上的项目&nbsp;&nbsp;&nbsp; 306<br />
4.4&nbsp; 文件的落实与更新&nbsp;&nbsp;&nbsp; 307<br />
4.4.1&nbsp; CVS和VSS的不同之处&nbsp;&nbsp;&nbsp; 307<br />
4.4.2&nbsp; 文件的落实和更新&nbsp;&nbsp;&nbsp; 307<br />
4.4.3&nbsp; 解决文件冲突&nbsp;&nbsp;&nbsp; 308<br />
4.4.4&nbsp; 如何让CVS忽略掉某些文件&nbsp;&nbsp;&nbsp; 309<br />
4.5&nbsp; 标记版本&nbsp;&nbsp;&nbsp; 310<br />
4.5.1　为项目在CVS上标记一个版本&nbsp;&nbsp;&nbsp; 310<br />
4.5.2&nbsp; 将项目还原为某版本&nbsp;&nbsp;&nbsp; 310<br />
4.7&nbsp; 修正旧版本的BUG&nbsp;&nbsp;&nbsp; 311<br />
4.7.1&nbsp; 把1.0版代码导入到一个新项目&nbsp;&nbsp;&nbsp; 311<br />
4.7.2&nbsp; 基于1.0版代码创建一个分支&nbsp;&nbsp;&nbsp; 311<br />
4.7.3&nbsp; 修改代码解决BUG&nbsp;&nbsp;&nbsp; 312<br />
第5章&nbsp; Eclipse中JUnit的使用&nbsp;&nbsp;&nbsp; 313<br />
5.1　一个TDD开发实例&nbsp;&nbsp;&nbsp; 313<br />
5.2　JUnit的标准项目结构&nbsp;&nbsp;&nbsp; 316<br />
第2篇&nbsp; SWT/JFace篇<br />
第6章&nbsp; SWT起步&nbsp;&nbsp;&nbsp; 319<br />
6.1&nbsp; SWT简介&nbsp;&nbsp;&nbsp; 319<br />
6.2&nbsp; SWT中的包&nbsp;&nbsp;&nbsp; 320<br />
6.3&nbsp; SWT的HelloWorld&nbsp;&nbsp;&nbsp; 321<br />
6.3.1&nbsp; 创建插件项目&nbsp;&nbsp;&nbsp; 321<br />
6.3.2&nbsp; 创建HelloWorld程序&nbsp;&nbsp;&nbsp; 321<br />
6.3.3&nbsp; 运行HelloWorld&nbsp;&nbsp;&nbsp; 322<br />
6.3.4&nbsp; HelloWorld更进一步&nbsp;&nbsp;&nbsp; 323<br />
6.3.5&nbsp; SWT程序的界面结构&nbsp;&nbsp;&nbsp; 323<br />
6.4&nbsp; SWT事件的写法&nbsp;&nbsp;&nbsp; 324<br />
6.4.1&nbsp; 匿名内部类写法&nbsp;&nbsp;&nbsp; 324<br />
6.4.2&nbsp; 命名内部类写法&nbsp;&nbsp;&nbsp; 325<br />
6.4.3&nbsp; 外部类写法&nbsp;&nbsp;&nbsp; 325<br />
6.4.4&nbsp; 实现监听接口的写法&nbsp;&nbsp;&nbsp; 326<br />
6.4.5&nbsp; 总结&nbsp;&nbsp;&nbsp; 326<br />
6.5&nbsp; 在事件代码中访问变量&nbsp;&nbsp;&nbsp; 326<br />
6.6&nbsp; 常用事件监听器&nbsp;&nbsp;&nbsp; 328<br />
6.6.1　选择事件监听器SelectionListener&nbsp;&nbsp;&nbsp; 328<br />
6.6.2　键盘事件监听器KeyListener&nbsp;&nbsp;&nbsp; 329<br />
6.6.3　焦点事件监听器FocusListener&nbsp;&nbsp;&nbsp; 329<br />
6.6.4　鼠标事件监听器MouseListener&nbsp;&nbsp;&nbsp; 329<br />
6.6.5　注销事件监听器DisposeListener&nbsp;&nbsp;&nbsp; 330<br />
6.6.6　组件专用的事件监听器&nbsp;&nbsp;&nbsp; 330<br />
6.6.7　通用监听器Listener&nbsp;&nbsp;&nbsp; 330<br />
第7章&nbsp; 安装Visual Editor插件&nbsp;&nbsp;&nbsp; 331<br />
7.1&nbsp; 下载Visual Editor&nbsp;&nbsp;&nbsp; 331<br />
7.2&nbsp; 安装Visual Editor&nbsp;&nbsp;&nbsp; 332<br />
第8章&nbsp; SWT常用组件&nbsp;&nbsp;&nbsp; 334<br />
8.1&nbsp; 按钮、复选框、单选框（Button类）&nbsp;&nbsp;&nbsp; 334<br />
8.1.1&nbsp; 一个Button类的实例&nbsp;&nbsp;&nbsp; 334<br />
8.1.2&nbsp; Button类的式样表&nbsp;&nbsp;&nbsp; 335<br />
8.1.3&nbsp; 使用事件参数SelectionEvent&nbsp;&nbsp;&nbsp; 336<br />
8.2&nbsp; 组件的常用方法&nbsp;&nbsp;&nbsp; 337<br />
8.3&nbsp; 标签（Label类）&nbsp;&nbsp;&nbsp; 339<br />
8.3.1&nbsp; Label类的一个实例&nbsp;&nbsp;&nbsp; 339<br />
8.3.2&nbsp; Label类的式样列表&nbsp;&nbsp;&nbsp; 339<br />
8.4&nbsp; 文本框（Text类）&nbsp;&nbsp;&nbsp; 340<br />
8.4.1&nbsp; 一个Text的实例&nbsp;&nbsp;&nbsp; 340<br />
8.4.2&nbsp; Text类的式样列表&nbsp;&nbsp;&nbsp; 341<br />
8.4.3&nbsp; 一个编辑框的实例&nbsp;&nbsp;&nbsp; 341<br />
8.4.4&nbsp; 常用方法&nbsp;&nbsp;&nbsp; 342<br />
8.5&nbsp; 下拉框（Combo类）&nbsp;&nbsp;&nbsp; 342<br />
8.5.1&nbsp; 一个Combo类的实例&nbsp;&nbsp;&nbsp; 342<br />
8.5.2&nbsp; Combo类的式样列表&nbsp;&nbsp;&nbsp; 343<br />
8.5.3&nbsp; 常用方法&nbsp;&nbsp;&nbsp; 344<br />
8.6&nbsp; 列表框（List类）&nbsp;&nbsp;&nbsp; 344<br />
8.6.1&nbsp; 一个List类的实例&nbsp;&nbsp;&nbsp; 344<br />
8.6.2&nbsp; List类的式样表（如表8.5所示）&nbsp;&nbsp;&nbsp; 345<br />
第9章&nbsp; 容&nbsp; 器&nbsp; 类&nbsp;&nbsp;&nbsp; 347<br />
9.1&nbsp; 面板（Composite类）&nbsp;&nbsp;&nbsp; 347<br />
9.1.1&nbsp; Composite类谱系&nbsp;&nbsp;&nbsp; 347<br />
9.1.2&nbsp; Composite的用法&nbsp;&nbsp;&nbsp; 347<br />
9.1.3&nbsp; Composite的常用方法&nbsp;&nbsp;&nbsp; 348<br />
9.2&nbsp; 分组框（Group类）&nbsp;&nbsp;&nbsp; 348<br />
9.3&nbsp; 选项卡（TabFolder类和TabItem类）&nbsp;&nbsp;&nbsp; 348<br />
9.4&nbsp; 分割窗（SashForm类）&nbsp;&nbsp;&nbsp; 350<br />
9.5&nbsp; 带滚动条的面板（ScrolledComposite类）&nbsp;&nbsp;&nbsp; 351<br />
9.6　窗口容器（Shell类）&nbsp;&nbsp;&nbsp; 352<br />
9.6.1　Shell实例和式样&nbsp;&nbsp;&nbsp; 352<br />
9.6.2　使窗口屏幕居中&nbsp;&nbsp;&nbsp; 353<br />
9.6.3　两个Shell窗口的互动&nbsp;&nbsp;&nbsp; 353<br />
9.6.4　另一种窗口（ApplicationWindow类）&nbsp;&nbsp;&nbsp; 354<br />
第10章&nbsp; 布局管理器&nbsp;&nbsp;&nbsp; 356<br />
10.1&nbsp; 布局管理器简介&nbsp;&nbsp;&nbsp; 356<br />
10.2&nbsp; 充满式（FillLayout类）&nbsp;&nbsp;&nbsp; 357<br />
10.3&nbsp; 行列式（RowLayout类）&nbsp;&nbsp;&nbsp; 358<br />
10.3.1　使用RowLayout&nbsp;&nbsp;&nbsp; 358<br />
10.3.2&nbsp; 使用RowData控制组件外观&nbsp;&nbsp;&nbsp; 359<br />
10.4&nbsp; 网格式（GridLayout类）&nbsp;&nbsp;&nbsp; 360<br />
10.4.1&nbsp; 使用GridLayout&nbsp;&nbsp;&nbsp; 360<br />
10.4.5&nbsp; 使用GridData进行复杂布局&nbsp;&nbsp;&nbsp; 361<br />
10.5&nbsp; 堆栈式（StackLayout类）&nbsp;&nbsp;&nbsp; 364<br />
10.6&nbsp; 表格式（FormLayout类）&nbsp;&nbsp;&nbsp; 365<br />
10.6.1&nbsp; 使用marginWidth、marginHeight设置边距&nbsp;&nbsp;&nbsp; 365<br />
10.6.2&nbsp; 使用FormData&nbsp;&nbsp;&nbsp; 366<br />
10.6.3&nbsp; FormAttachment类的用法&nbsp;&nbsp;&nbsp; 366<br />
10.7&nbsp; 综合布局实例&nbsp;&nbsp;&nbsp; 368<br />
第11章&nbsp; 其他SWT组件&nbsp;&nbsp;&nbsp; 374<br />
11.1&nbsp; 工具栏（ToolBar类、ToolItem类、ViewForm类）&nbsp;&nbsp;&nbsp; 374<br />
11.2&nbsp; 动态工具栏（CoolBar类、CoolItem类）&nbsp;&nbsp;&nbsp; 375<br />
11.3&nbsp; 菜单（Menu类，MenuItem类）&nbsp;&nbsp;&nbsp; 378<br />
11.4&nbsp; 滑动条（Slider）、刻度条（Scale）、进度条（ProgressBar）&nbsp;&nbsp;&nbsp; 380<br />
11.5&nbsp; 画布（Canvas类）&nbsp;&nbsp;&nbsp; 381<br />
11.6&nbsp; 表格（Table类）&nbsp;&nbsp;&nbsp; 383<br />
11.7&nbsp; 树、表格型树（Tree类）&nbsp;&nbsp;&nbsp; 384<br />
11.8　浏览器（Browser类）&nbsp;&nbsp;&nbsp; 386<br />
11.9　系统托盘（Tray类）&nbsp;&nbsp;&nbsp; 387<br />
11.10　SWT组件的扩展&nbsp;&nbsp;&nbsp; 389<br />
11.10.1　Label的扩展（CLabel类）&nbsp;&nbsp;&nbsp; 389<br />
11.10.2　Text的扩展（StyledText类）&nbsp;&nbsp;&nbsp; 389<br />
第12章&nbsp; 图像、颜色、字体&nbsp;&nbsp;&nbsp; 391<br />
12.1　图像（Image类）&nbsp;&nbsp;&nbsp; 391<br />
12.2&nbsp; Image类的注意事项&nbsp;&nbsp;&nbsp; 393<br />
12.2.1&nbsp; 自己创建的，自己销毁&nbsp;&nbsp;&nbsp; 394<br />
12.2.2&nbsp; 父组件销毁，其子组件也会自动销毁&nbsp;&nbsp;&nbsp; 394<br />
12.3&nbsp; 图像描述符（ImageDescriptor类）&nbsp;&nbsp;&nbsp; 394<br />
12.3.1&nbsp; createFromFile方法&nbsp;&nbsp;&nbsp; 395<br />
12.3.2&nbsp; createFromURL方法&nbsp;&nbsp;&nbsp; 395<br />
12.3.3&nbsp; ImageDescriptor总结&nbsp;&nbsp;&nbsp; 395<br />
12.4&nbsp; 图像注册表（ImageRegistry类）&nbsp;&nbsp;&nbsp; 395<br />
12.5　颜色（Color类）和字体（Font类）&nbsp;&nbsp;&nbsp; 396<br />
第13章&nbsp; SWT的线程&nbsp;&nbsp;&nbsp; 398<br />
13.1&nbsp; SWT线程简介&nbsp;&nbsp;&nbsp; 398<br />
13.2&nbsp; 一个SWT线程的实例&nbsp;&nbsp;&nbsp; 399<br />
13.3&nbsp; 对11.4节进度条实例的改进&nbsp;&nbsp;&nbsp; 404<br />
13.4　状态栏里进度条&nbsp;&nbsp;&nbsp; 404<br />
13.5　支持动画GIF的组件&nbsp;&nbsp;&nbsp; 408<br />
第14章　表格（TableViewer类）&nbsp;&nbsp;&nbsp; 412<br />
14.1&nbsp; 概&nbsp;&nbsp;&nbsp; 述&nbsp;&nbsp;&nbsp; 412<br />
14.2&nbsp; 创建表格并显示数据&nbsp;&nbsp;&nbsp; 413<br />
14.2.1&nbsp; 实例的数据模型介绍&nbsp;&nbsp;&nbsp; 413<br />
14.2.2&nbsp; 创建数据表的实体类&nbsp;&nbsp;&nbsp; 413<br />
14.2.3&nbsp; 数据的生成&nbsp;&nbsp;&nbsp; 414<br />
14.2.4&nbsp; 在表格中显示数据&nbsp;&nbsp;&nbsp; 416<br />
14.3&nbsp; 响应鼠标双击事件&nbsp;&nbsp;&nbsp; 419<br />
14.4&nbsp; 给表格加上右键菜单（Action类、ActionGroup类、MenuManager类）&nbsp;&nbsp;&nbsp; 420<br />
14.4.1&nbsp; Action、ActionGroup、MenuManager介绍&nbsp;&nbsp;&nbsp; 420<br />
14.4.2&nbsp; 创建Action和ActionGroup&nbsp;&nbsp;&nbsp; 420<br />
14.4.3&nbsp; 在主程序中使用ActionGroup、MenuManager&nbsp;&nbsp;&nbsp; 421<br />
14.5&nbsp; 表格的排序（ViewerSorter类）&nbsp;&nbsp;&nbsp; 422<br />
14.5.1　编写排序器ViewerSorter&nbsp;&nbsp;&nbsp; 422<br />
14.5.2　为表格列添加事件监听器&nbsp;&nbsp;&nbsp; 424<br />
14.6&nbsp; 给表格加上工具栏（ToolBarManager类）&nbsp;&nbsp;&nbsp; 424<br />
14.6.1　创建Action类并填充进工具栏&nbsp;&nbsp;&nbsp; 425<br />
14.6.2　用ViewForm做布局调整&nbsp;&nbsp;&nbsp; 427<br />
14.7&nbsp; 带复选框的表格（CheckboxTableViewer类）&nbsp;&nbsp;&nbsp; 428<br />
14.7.1&nbsp; 使用表格的复选框式样&nbsp;&nbsp;&nbsp; 428<br />
14.7.2&nbsp; 修改MyActionGroup类&nbsp;&nbsp;&nbsp; 428<br />
14.8&nbsp; 让表格可直接编辑（CellEditor类、ICellModifier接口）&nbsp;&nbsp;&nbsp; 431<br />
14.8.1　使用各种编辑组件CellEditor&nbsp;&nbsp;&nbsp; 431<br />
14.8.2　创建修改器ICellModifier&nbsp;&nbsp;&nbsp; 432<br />
14.9&nbsp; 其他使用技巧&nbsp;&nbsp;&nbsp; 434<br />
14.9.1&nbsp; 表格记录的过滤&nbsp;&nbsp;&nbsp; 434<br />
14.9.2&nbsp; 控制表格的当前选择行&nbsp;&nbsp;&nbsp; 434<br />
14.9.3&nbsp; 给表格的单元格设置背景色&nbsp;&nbsp;&nbsp; 435<br />
14.9.4&nbsp; 加快TableItem和记录之间的查找速度&nbsp;&nbsp;&nbsp; 435<br />
第15章&nbsp; 树（TreeViewer）和列表（ListViewer）&nbsp;&nbsp;&nbsp; 436<br />
15.1&nbsp; 概&nbsp;&nbsp;&nbsp; 述&nbsp;&nbsp;&nbsp; 436<br />
15.2&nbsp; 前期准备：实例所用数据模型说明&nbsp;&nbsp;&nbsp; 436<br />
15.2.1&nbsp; 建立国家实体和城市实体&nbsp;&nbsp;&nbsp; 436<br />
15.2.2&nbsp; 建立树结点的接口类&nbsp;&nbsp;&nbsp; 437<br />
15.2.3&nbsp; 让国家、城市、人三个实体类实现此接口&nbsp;&nbsp;&nbsp; 438<br />
15.3&nbsp; 让数据在树中显示出来&nbsp;&nbsp;&nbsp; 438<br />
15.3.1&nbsp; 创建树的数据结构&nbsp;&nbsp;&nbsp; 439<br />
15.3.2&nbsp; 创建主程序&nbsp;&nbsp;&nbsp; 440<br />
15.3.3&nbsp; 标签器（实现ILabelProvider接口）&nbsp;&nbsp;&nbsp; 440<br />
15.3.4&nbsp; 内容器（实现ITreeContentProvider接口）&nbsp;&nbsp;&nbsp; 441<br />
15.4&nbsp; 给树加上右键菜单，及实现菜单相应功能&nbsp;&nbsp;&nbsp; 443<br />
15.5&nbsp; 不同结点显示不同菜单&nbsp;&nbsp;&nbsp; 447<br />
15.6　表格型树&nbsp;&nbsp;&nbsp; 448<br />
15.7　带复选框的树&nbsp;&nbsp;&nbsp; 449<br />
15.6&nbsp; 列表（ListViewer类）&nbsp;&nbsp;&nbsp; 451<br />
15.6.1&nbsp; ListViewer简介&nbsp;&nbsp;&nbsp; 451<br />
15.6.2&nbsp; ListViewer的实例&nbsp;&nbsp;&nbsp; 452<br />
15.6.3&nbsp; ListViewer的常用方法&nbsp;&nbsp;&nbsp; 452<br />
第16章&nbsp; 对&nbsp; 话&nbsp; 框&nbsp;&nbsp;&nbsp; 454<br />
16.1&nbsp; 对话框（Dialog类）&nbsp;&nbsp;&nbsp; 454<br />
16.1.1&nbsp; 对话框简介&nbsp;&nbsp;&nbsp; 454<br />
16.1.2&nbsp; 信息提示框（MessageDialog类）&nbsp;&nbsp;&nbsp; 454<br />
16.1.3&nbsp; 输入值对话框（InputDialog类）&nbsp;&nbsp;&nbsp; 456<br />
16.1.4&nbsp; 自定义对话框（Dialog类）&nbsp;&nbsp;&nbsp; 457<br />
16.1.5&nbsp; 对话框的设置与取值&nbsp;&nbsp;&nbsp; 459<br />
16.1.6　封装对话框中的数据到一个数据类&nbsp;&nbsp;&nbsp; 461<br />
16.1.7　保存对话框的值（IDialogSettings类）&nbsp;&nbsp;&nbsp; 463<br />
16.1.8&nbsp; 带提示栏的对话框（TitleAreaDialog类）&nbsp;&nbsp;&nbsp; 465<br />
16.2&nbsp; 向导式对话框（WizardDialog类）&nbsp;&nbsp;&nbsp; 466<br />
16.2.1&nbsp; 向导式对话框简介&nbsp;&nbsp;&nbsp; 466<br />
16.2.2&nbsp; 向导式对话框实例&nbsp;&nbsp;&nbsp; 466<br />
16.3&nbsp; 进度条对话框（ProgressMonitorDialog类）&nbsp;&nbsp;&nbsp; 470<br />
16.3.1&nbsp; 进度条对话框简介&nbsp;&nbsp;&nbsp; 470<br />
16.3.2&nbsp; 标准的进度条对话框&nbsp;&nbsp;&nbsp; 471<br />
16.3.3&nbsp; 反复显示的进度条对话框&nbsp;&nbsp;&nbsp; 472<br />
16.3.4　封装反复显示的进度条对话框&nbsp;&nbsp;&nbsp; 474<br />
16.3.5　用动画GIF来表示进度&nbsp;&nbsp;&nbsp; 476<br />
16.4&nbsp; 其他类型对话框&nbsp;&nbsp;&nbsp; 477<br />
16.4.1&nbsp; 信息提示框（MessageBox类）&nbsp;&nbsp;&nbsp; 477<br />
16.4.2&nbsp; 颜色选择对话框（ColorDialog类）&nbsp;&nbsp;&nbsp; 478<br />
16.4.3&nbsp; 字体选择对话框（FontDialog类）&nbsp;&nbsp;&nbsp; 479<br />
16.4.4&nbsp; 打印设置对话框（PrintDialog类）&nbsp;&nbsp;&nbsp; 479<br />
16.4.5&nbsp; 目录选择对话框（DirectoryDialog类）&nbsp;&nbsp;&nbsp; 480<br />
16.4.6&nbsp; 文件选择对话框（FileDialog类）&nbsp;&nbsp;&nbsp; 480<br />
第17章　Form的使用&nbsp;&nbsp;&nbsp; 482<br />
17.1　Form概述&nbsp;&nbsp;&nbsp; 482<br />
17.2　Form的HelloWorld&nbsp;&nbsp;&nbsp; 483<br />
17.3　在Form中使用SWT组件&nbsp;&nbsp;&nbsp; 484<br />
17.4　Form的新布局&nbsp;&nbsp;&nbsp; 485<br />
17.4.1　TableWrapLayout布局&nbsp;&nbsp;&nbsp; 485<br />
17.4.2　ColumnLayout布局&nbsp;&nbsp;&nbsp; 486<br />
17.5　Form的专用组件&nbsp;&nbsp;&nbsp; 487<br />
17.5.1　超链接（Hyperlink类）&nbsp;&nbsp;&nbsp; 487<br />
17.5.2　带图像的超链接（ImageHyperlink类）&nbsp;&nbsp;&nbsp; 488<br />
17.5.3　可伸缩面板（ExpandableComposite类）&nbsp;&nbsp;&nbsp; 488<br />
17.5.4　可伸缩项（Section类）&nbsp;&nbsp;&nbsp; 489<br />
17.5.5　网页效果的文本（FormText类）&nbsp;&nbsp;&nbsp; 490<br />
17.5.6　带标题的面板（Form类）&nbsp;&nbsp;&nbsp; 491<br />
17.5.7　带滚动条的Form面板（ScrolledForm类）&nbsp;&nbsp;&nbsp; 492<br />
17.5.8　用面板做分隔栏（createCompositeSeparator方法）&nbsp;&nbsp;&nbsp; 492<br />
17.5.9　堆栈式面板（ScrolledPageBook类）&nbsp;&nbsp;&nbsp; 493<br />
第18章　高级话题&nbsp;&nbsp;&nbsp; 494<br />
18.1　嵌入AWT/SWING组件&nbsp;&nbsp;&nbsp; 494<br />
18.2　组件的拖拽功能(Drag and Drop)&nbsp;&nbsp;&nbsp; 494<br />
18.3　访问ActiveX&nbsp;&nbsp;&nbsp; 498<br />
18.3.1　在SWT中打开Word文档&nbsp;&nbsp;&nbsp; 498<br />
18.3.2　在OLE容器里加入菜单&nbsp;&nbsp;&nbsp; 498<br />
18.3.3　调用ActiveX控件的内部方法&nbsp;&nbsp;&nbsp; 499<br />
18.3.4　使用Flash控件&nbsp;&nbsp;&nbsp; 500<br />
18.4　数据绑定（JFace data binding framework）&nbsp;&nbsp;&nbsp; 502<br />
18.4.1　准备工作&nbsp;&nbsp;&nbsp; 502<br />
18.4.2　数据绑定的简单示例&nbsp;&nbsp;&nbsp; 504<br />
18.4.3　使用BindSpec类定义特殊绑定&nbsp;&nbsp;&nbsp; 505<br />
18.4.4　TableViewer的数据绑定&nbsp;&nbsp;&nbsp; 508<br />
18.4.5　Combo绑定和联动&nbsp;&nbsp;&nbsp; 510<br />
第3篇&nbsp; 插件开发篇<br />
第19章&nbsp; Eclipse插件开发起步&nbsp;&nbsp;&nbsp; 512<br />
19.1&nbsp; Eclipse插件开发概述&nbsp;&nbsp;&nbsp; 512<br />
19.1.1&nbsp; 插件开发简介&nbsp;&nbsp;&nbsp; 512<br />
19.1.2&nbsp; Eclipse插件开发的优势和不足&nbsp;&nbsp;&nbsp; 512<br />
19.2&nbsp; 创建HelloWorld插件&nbsp;&nbsp;&nbsp; 513<br />
19.2.1　新建插件项目&nbsp;&nbsp;&nbsp; 513<br />
19.2.2　运行插件&nbsp;&nbsp;&nbsp; 513<br />
19.3&nbsp; 解读HelloWorld插件&nbsp;&nbsp;&nbsp; 514<br />
19.3.1　Activator.java&nbsp;&nbsp;&nbsp; 514<br />
19.3.2　SampleAction.java&nbsp;&nbsp;&nbsp; 515<br />
19.3.3　plugin.xml&nbsp;&nbsp;&nbsp; 515<br />
19.3.4　MANIFEST.MF&nbsp;&nbsp;&nbsp; 517<br />
19.3.5　build.properties&nbsp;&nbsp;&nbsp; 518<br />
19.4&nbsp; 修改HelloWorld插件&nbsp;&nbsp;&nbsp; 518<br />
19.4.1　规范包名&nbsp;&nbsp;&nbsp; 518<br />
19.4.2　修改插件信息&nbsp;&nbsp;&nbsp; 519<br />
19.4.3　"运行"窗口&nbsp;&nbsp;&nbsp; 520<br />
19.4.4　精简依赖插件，处理依赖错误&nbsp;&nbsp;&nbsp; 520<br />
第20章&nbsp; 常用插件扩展点&nbsp;&nbsp;&nbsp; 522<br />
20.1&nbsp; 加入透视图（perspectives）&nbsp;&nbsp;&nbsp; 522<br />
20.1.1&nbsp; 修改plugin.xml文件，设置透视图的扩展点&nbsp;&nbsp;&nbsp; 522<br />
20.1.2&nbsp; 建立透视图类&nbsp;&nbsp;&nbsp; 523<br />
20.1.3&nbsp; 运行插件&nbsp;&nbsp;&nbsp; 523<br />
20.1.4&nbsp; 总结&nbsp;&nbsp;&nbsp; 523<br />
20.2&nbsp; 在透视图中加入视图（views）&nbsp;&nbsp;&nbsp; 523<br />
20.2.1&nbsp; 修改plugin.xml文件，设置视图的扩展点&nbsp;&nbsp;&nbsp; 523<br />
20.2.2&nbsp; 创建视图类&nbsp;&nbsp;&nbsp; 525<br />
20.2.3&nbsp; 修改透视图类SamplePerspective&nbsp;&nbsp;&nbsp; 525<br />
20.2.4&nbsp; 运行插件&nbsp;&nbsp;&nbsp; 526<br />
20.3&nbsp; 在视图之间实现事件监听&nbsp;&nbsp;&nbsp; 526<br />
20.3.1&nbsp; 主动式&nbsp;&nbsp;&nbsp; 526<br />
20.3.2&nbsp; 监听式&nbsp;&nbsp;&nbsp; 528<br />
20.4&nbsp; 给视图加下拉菜单和按钮&nbsp;&nbsp;&nbsp; 531<br />
20.4.1&nbsp; 创建ActionGroup类&nbsp;&nbsp;&nbsp; 531<br />
20.4.2&nbsp; 修改View1类&nbsp;&nbsp;&nbsp; 532<br />
20.5&nbsp; 加入编辑器（editors）&nbsp;&nbsp;&nbsp; 533<br />
20.5.1&nbsp; 修改plugin.xml文件，设置三个编辑器的扩展点&nbsp;&nbsp;&nbsp; 533<br />
20.5.2&nbsp; 创建三个编辑器类&nbsp;&nbsp;&nbsp; 534<br />
20.5.3&nbsp; 创建IEditorInput&nbsp;&nbsp;&nbsp; 535<br />
20.5.4&nbsp; 打开编辑器&nbsp;&nbsp;&nbsp; 536<br />
20.5.5&nbsp; 总结&nbsp;&nbsp;&nbsp; 537<br />
20.6&nbsp; 编辑器类方法的使用说明&nbsp;&nbsp;&nbsp; 538<br />
20.6.1&nbsp; EditorPart方法的执行情况&nbsp;&nbsp;&nbsp; 538<br />
20.6.2&nbsp; 各方法的作用及含义&nbsp;&nbsp;&nbsp; 538<br />
20.6.3&nbsp; 一个编辑器实例&nbsp;&nbsp;&nbsp; 539<br />
20.7&nbsp; 加入首选项（preferencePages）&nbsp;&nbsp;&nbsp; 540<br />
20.7.1&nbsp; 修改plugin.xml文件，设置首选项的扩展点&nbsp;&nbsp;&nbsp; 541<br />
20.7.2&nbsp; 建立首选项各结点对应的类&nbsp;&nbsp;&nbsp; 541<br />
20.7.3&nbsp; 运行插件&nbsp;&nbsp;&nbsp; 544<br />
20.7.4&nbsp; 总结&nbsp;&nbsp;&nbsp; 544<br />
20.8&nbsp; 加入帮助（toc）&nbsp;&nbsp;&nbsp; 545<br />
20.8.1&nbsp; 修改plugin.xml文件，设置三个帮助的扩展点&nbsp;&nbsp;&nbsp; 545<br />
20.8.2&nbsp; 编写帮助目录文件toc&nbsp;&nbsp;&nbsp; 546<br />
20.8.3&nbsp; 创建相应的帮助文档&nbsp;&nbsp;&nbsp; 547<br />
20.8.4&nbsp; 运行插件&nbsp;&nbsp;&nbsp; 547<br />
20.8.5&nbsp; 总结&nbsp;&nbsp;&nbsp; 548<br />
20.9&nbsp; 上下文帮助（contexts）&nbsp;&nbsp;&nbsp; 548<br />
20.9.1&nbsp; 在plugin.xml中设置扩展点&nbsp;&nbsp;&nbsp; 548<br />
20.9.2&nbsp; 编写配置文件mycontexts.xml&nbsp;&nbsp;&nbsp; 549<br />
20.9.3&nbsp; 创建HTML帮助文件&nbsp;&nbsp;&nbsp; 549<br />
20.9.4&nbsp; 将帮助信息和界面组件关联起来&nbsp;&nbsp;&nbsp; 549<br />
20.9.5&nbsp; 总结&nbsp;&nbsp;&nbsp; 550<br />
第21章&nbsp; Eclipse插件的国际化&nbsp;&nbsp;&nbsp; 551<br />
21.1&nbsp; 国际化简介&nbsp;&nbsp;&nbsp; 551<br />
21.2&nbsp; 为国际化创建一个插件的"段项目"&nbsp;&nbsp;&nbsp; 551<br />
21.3&nbsp; 类程序的国际化&nbsp;&nbsp;&nbsp; 552<br />
21.3.1&nbsp; 国际化前的准备工作&nbsp;&nbsp;&nbsp; 552<br />
21.3.2&nbsp; 创建Message类&nbsp;&nbsp;&nbsp; 553<br />
21.3.3&nbsp; 创建*.properties资源文件&nbsp;&nbsp;&nbsp; 554<br />
21.3.4&nbsp; 修改myplugin项目的程序&nbsp;&nbsp;&nbsp; 556<br />
21.3.5&nbsp; 运行插件，测试国际化&nbsp;&nbsp;&nbsp; 556<br />
21.3.6&nbsp; 实践建议&nbsp;&nbsp;&nbsp; 557<br />
21.4&nbsp; plugin.xml的国际化&nbsp;&nbsp;&nbsp; 558<br />
21.4.1&nbsp; 创建plugin.xml的资源文件&nbsp;&nbsp;&nbsp; 558<br />
21.4.2&nbsp; 修改plugin.xml文件&nbsp;&nbsp;&nbsp; 558<br />
21.4.3&nbsp; 运行插件，测试plugin.xml的国际化&nbsp;&nbsp;&nbsp; 558<br />
21.5&nbsp; 其他XML文件的国际化&nbsp;&nbsp;&nbsp; 559<br />
21.5.1&nbsp; 在myplugin.nl1项目创建国际化所需的目录结构&nbsp;&nbsp;&nbsp; 559<br />
21.5.2&nbsp; 修改各语言的XML文档&nbsp;&nbsp;&nbsp; 559<br />
21.6&nbsp; 使用"外部化字符串"向导&nbsp;&nbsp;&nbsp; 560<br />
21.6.1&nbsp; 运用"外部化字符串"向导的步骤&nbsp;&nbsp;&nbsp; 560<br />
21.6.2&nbsp; 向导完成后的处理&nbsp;&nbsp;&nbsp; 561<br />
第22章&nbsp; 报表：用POI与Excel交互&nbsp;&nbsp;&nbsp; 562<br />
22.1&nbsp; POI的下载与安装&nbsp;&nbsp;&nbsp; 562<br />
22.1.1　POI的下载&nbsp;&nbsp;&nbsp; 562<br />
22.1.2　POI的安装&nbsp;&nbsp;&nbsp; 562<br />
22.2&nbsp; 将数据导出成Excel的实例&nbsp;&nbsp;&nbsp; 564<br />
22.2.1&nbsp; 创建一个空白的Excel文件&nbsp;&nbsp;&nbsp; 564<br />
22.2.2&nbsp; 往Excel单元格中写入信息&nbsp;&nbsp;&nbsp; 564<br />
22.2.3&nbsp; 中文化的问题&nbsp;&nbsp;&nbsp; 565<br />
22.3&nbsp; 使 用 式 样&nbsp;&nbsp;&nbsp; 566<br />
22.3.1&nbsp; 日期式样及文字对齐式样&nbsp;&nbsp;&nbsp; 566<br />
22.3.2&nbsp; 边框式样&nbsp;&nbsp;&nbsp; 567<br />
22.3.3&nbsp; 背景色及底纹式样&nbsp;&nbsp;&nbsp; 568<br />
22.3.4&nbsp; 合并单元格&nbsp;&nbsp;&nbsp; 568<br />
22.3.5&nbsp; 字体式样&nbsp;&nbsp;&nbsp; 569<br />
22.4&nbsp; 更多的用法&nbsp;&nbsp;&nbsp; 569<br />
22.4.1&nbsp; 设置页眉页脚&nbsp;&nbsp;&nbsp; 569<br />
22.4.2&nbsp; 冻结和分割窗&nbsp;&nbsp;&nbsp; 570<br />
22.4.3&nbsp; 浮动文字框及在表中画图&nbsp;&nbsp;&nbsp; 571<br />
22.4.4&nbsp; 设置打印的范围&nbsp;&nbsp;&nbsp; 572<br />
22.4.5&nbsp; 读取及修改Excel&nbsp;&nbsp;&nbsp; 572<br />
第23章&nbsp; 项目的打包与发行&nbsp;&nbsp;&nbsp; 573<br />
23.1&nbsp; 应用程序项目的打包与发行&nbsp;&nbsp;&nbsp; 573<br />
23.1.1&nbsp; 简介&nbsp;&nbsp;&nbsp; 573<br />
23.1.2&nbsp; 打包的具体操作步骤&nbsp;&nbsp;&nbsp; 573<br />
23.1.3&nbsp; 其他得到JAR包的方式&nbsp;&nbsp;&nbsp; 576<br />
23.1.4&nbsp; 用Fat Jar插件打包项目&nbsp;&nbsp;&nbsp; 577<br />
23.1.5&nbsp; 让用户不必另外安装JRE环境&nbsp;&nbsp;&nbsp; 578<br />
23.1.6&nbsp; 创建EXE执行文件及美化图标&nbsp;&nbsp;&nbsp; 578<br />
23.1.7&nbsp; 打包的其他说明&nbsp;&nbsp;&nbsp; 579<br />
23.2&nbsp; 插件项目的打包与发行&nbsp;&nbsp;&nbsp; 580<br />
23.2.1&nbsp; 简介&nbsp;&nbsp;&nbsp; 580<br />
23.2.2&nbsp; 插件打包的具体操作步骤&nbsp;&nbsp;&nbsp; 580<br />
23.2.3&nbsp; 测试打包效果&nbsp;&nbsp;&nbsp; 581<br />
23.3&nbsp; 用Ant来打包&nbsp;&nbsp;&nbsp; 581<br />
23.3.1　检查环境变量&nbsp;&nbsp;&nbsp; 582<br />
23.3.2　准备Ant脚本所需文件&nbsp;&nbsp;&nbsp; 582<br />
23.3.3　创建Ant脚本&nbsp;&nbsp;&nbsp; 582<br />
23.3.4　解读Ant脚本&nbsp;&nbsp;&nbsp; 584<br />
23.3.5　运行Ant脚本&nbsp;&nbsp;&nbsp; 587<br />
第4篇&nbsp; RCP开发篇<br />
第24章&nbsp; RCP平台开发起步&nbsp;&nbsp;&nbsp; 588<br />
24.1&nbsp; 创建RCP项目（V001）&nbsp;&nbsp;&nbsp; 588<br />
24.2&nbsp; 解读RCP项目&nbsp;&nbsp;&nbsp; 589<br />
24.2.1&nbsp; plugin.xml：设置扩展点&nbsp;&nbsp;&nbsp; 590<br />
24.2.2&nbsp; Application类：入口类&nbsp;&nbsp;&nbsp; 590<br />
24.2.3&nbsp; ApplicationWorkbenchAdvisor类：确定透视图&nbsp;&nbsp;&nbsp; 591<br />
24.2.4&nbsp; ApplicationWorkbenchWindowAdvisor类：工作台窗口&nbsp;&nbsp;&nbsp; 591<br />
24.2.5&nbsp; ApplicationActionBarAdvisor类：窗口元素&nbsp;&nbsp;&nbsp; 592<br />
24.3　主菜单、工具栏、状态栏（V002）&nbsp;&nbsp;&nbsp; 593<br />
24.3.1&nbsp; 打开主菜单、工具栏、状态栏&nbsp;&nbsp;&nbsp; 593<br />
24.3.2&nbsp; 添加多个Action&nbsp;&nbsp;&nbsp; 593<br />
24.3.3&nbsp; 修改Activator类&nbsp;&nbsp;&nbsp; 595<br />
24.4　全局快捷键（V003）&nbsp;&nbsp;&nbsp; 595<br />
24.5　重构和项目调整&nbsp;&nbsp;&nbsp; 596<br />
24.3.1&nbsp; 重构（V004）&nbsp;&nbsp;&nbsp; 596<br />
24.3.2&nbsp; 项目调整（V005）&nbsp;&nbsp;&nbsp; 597<br />
第25章&nbsp; 建立MySQL数据库环境（V006）&nbsp;&nbsp;&nbsp; 598<br />
25.1　下载MySQL等软件包&nbsp;&nbsp;&nbsp; 598<br />
25.1.1　下载MySQL&nbsp;&nbsp;&nbsp; 598<br />
25.1.2　下载JDBC连接包&nbsp;&nbsp;&nbsp; 598<br />
25.1.3　下载GUI Tools&nbsp;&nbsp;&nbsp; 599<br />
25.2&nbsp; 安装MySQL&nbsp;&nbsp;&nbsp; 599<br />
25.3　RCP程序连接数据库&nbsp;&nbsp;&nbsp; 601<br />
25.3.1　安装JDBC连接包&nbsp;&nbsp;&nbsp; 601<br />
25.3.2&nbsp; 建库和建表&nbsp;&nbsp;&nbsp; 602<br />
25.3.3&nbsp; 插入数据和查询数据&nbsp;&nbsp;&nbsp; 604<br />
25.4&nbsp; 解决Java的中文问题&nbsp;&nbsp;&nbsp; 605<br />
25.4.1　字符集简介&nbsp;&nbsp;&nbsp; 606<br />
25.4.2　SMS项目的字符集配置方案&nbsp;&nbsp;&nbsp; 607<br />
第26章&nbsp; 需求分析及数据模型（V007）&nbsp;&nbsp;&nbsp; 609<br />
26.1&nbsp; 软件开发过程&nbsp;&nbsp;&nbsp; 609<br />
26.2&nbsp; 界面原型&nbsp;&nbsp;&nbsp; 610<br />
26.3&nbsp; 面向对象的分析与设计&nbsp;&nbsp;&nbsp; 612<br />
26.3.1&nbsp; 用户对象：学生、老师&nbsp;&nbsp;&nbsp; 613<br />
26.3.2&nbsp; 课程（Course）、班级（SchoolClass）、年级（Grade）对象&nbsp;&nbsp;&nbsp; 615<br />
26.3.3&nbsp; 学生成绩（StudentScore）、考试（Exam）对象&nbsp;&nbsp;&nbsp; 617<br />
26.3.4&nbsp; 总结&nbsp;&nbsp;&nbsp; 618<br />
26.4&nbsp; 创建数据表&nbsp;&nbsp;&nbsp; 618<br />
26.4.1&nbsp; 创建表的方式方法&nbsp;&nbsp;&nbsp; 619<br />
26.4.2&nbsp; 创建表的SQL语句&nbsp;&nbsp;&nbsp; 620<br />
26.4.3&nbsp; 在MySQL Query Browser中运行SQL脚本&nbsp;&nbsp;&nbsp; 622<br />
26.5&nbsp; 给数据表插入数据&nbsp;&nbsp;&nbsp; 622<br />
第27章&nbsp; 创建主界面框架&nbsp;&nbsp;&nbsp; 625<br />
27.1&nbsp; 创建主功能视图（V008）&nbsp;&nbsp;&nbsp; 625<br />
27.2&nbsp; 创建功能导航器中的树（V009）&nbsp;&nbsp;&nbsp; 627<br />
27.3&nbsp; 创建项目的图像注册表（V010）&nbsp;&nbsp;&nbsp; 630<br />
第28章&nbsp; 用户登录与退出&nbsp;&nbsp;&nbsp; 634<br />
28.1&nbsp; 实现方案&nbsp;&nbsp;&nbsp; 634<br />
28.2&nbsp; 界面部分的源代码（V011）&nbsp;&nbsp;&nbsp; 635<br />
28.3&nbsp; 数据库部分的源代码（V011）&nbsp;&nbsp;&nbsp; 640<br />
28.4&nbsp; 让软件适应多种数据库（V012）&nbsp;&nbsp;&nbsp; 645<br />
28.4.1&nbsp; 解决方案&nbsp;&nbsp;&nbsp; 645<br />
28.4.2&nbsp; 具体实现的源代码&nbsp;&nbsp;&nbsp; 646<br />
第29章&nbsp; "档案管理"编辑器的实现&nbsp;&nbsp;&nbsp; 648<br />
29.1&nbsp; 前　言&nbsp;&nbsp;&nbsp; 648<br />
29.2&nbsp; 实现编辑器及排序、翻页功能（V013）&nbsp;&nbsp;&nbsp; 648<br />
29.3&nbsp; 实现删除用户功能（V014）&nbsp;&nbsp;&nbsp; 660<br />
29.4&nbsp; 实现新增用户的向导对话框（V015）&nbsp;&nbsp;&nbsp; 661<br />
29.5&nbsp; 实现修改用户的功能（V016）&nbsp;&nbsp;&nbsp; 674<br />
29.6　让编辑器实现登录退出监听（V017）&nbsp;&nbsp;&nbsp; 679<br />
第30章&nbsp; "搜索视图"的实现（V018）&nbsp;&nbsp;&nbsp; 682<br />
30.1&nbsp; 前　言&nbsp;&nbsp;&nbsp; 682<br />
30.2&nbsp; 单击结点打开视图&nbsp;&nbsp;&nbsp; 682<br />
30.3&nbsp; 实现搜索视图SearchView&nbsp;&nbsp;&nbsp; 683<br />
30.4&nbsp; 实现"成绩管理"编辑器&nbsp;&nbsp;&nbsp; 687<br />
第31章&nbsp; 让软件更友好&nbsp;&nbsp;&nbsp; 692<br />
31.1　首选项的实现（V019）&nbsp;&nbsp;&nbsp; 692<br />
31.1.1&nbsp; 在RCP项目中显示首选项窗口&nbsp;&nbsp;&nbsp; 692<br />
31.1.2&nbsp; 首选项的源代码&nbsp;&nbsp;&nbsp; 693<br />
31.1.3&nbsp; 将程序中的设置值改成取之于首选项的设置&nbsp;&nbsp;&nbsp; 697<br />
31.1.4&nbsp; 运行&nbsp;&nbsp;&nbsp; 698<br />
31.2&nbsp; 进度条的实现（V020）&nbsp;&nbsp;&nbsp; 698<br />
31.2.1&nbsp; 为演示实例做准备&nbsp;&nbsp;&nbsp; 698<br />
31.2.2&nbsp; 基本实例&nbsp;&nbsp;&nbsp; 698<br />
31.2.3&nbsp; 定时执行任务和Job监听器&nbsp;&nbsp;&nbsp; 699<br />
31.2.4&nbsp; IProgressService类的使用&nbsp;&nbsp;&nbsp; 700<br />
31.3　状态栏的使用（V021）&nbsp;&nbsp;&nbsp; 701<br />
31.4&nbsp; 使用控制台视图&nbsp;&nbsp;&nbsp; 702<br />
31.4.1&nbsp; 程序直接调用方式（V022）&nbsp;&nbsp;&nbsp; 702<br />
31.4.2　控制台的扩展点（V023）&nbsp;&nbsp;&nbsp; 703<br />
第32章&nbsp; RCP项目的打包与发行（V024）&nbsp;&nbsp;&nbsp; 706<br />
32.1　使用product文件配置和导出项目&nbsp;&nbsp;&nbsp; 706<br />
32.1.1&nbsp; 创建product文件&nbsp;&nbsp;&nbsp; 706<br />
32.1.2&nbsp; 修改product文件的"概述" 页&nbsp;&nbsp;&nbsp; 707<br />
32.1.3&nbsp; 修改product文件的"启动程序"页&nbsp;&nbsp;&nbsp; 708<br />
32.1.4&nbsp; 修改product文件的"标记"页&nbsp;&nbsp;&nbsp; 708<br />
32.1.5&nbsp; 弧型Tab、进度条等效果&nbsp;&nbsp;&nbsp; 709<br />
32.1.6&nbsp; 导出SMS项目&nbsp;&nbsp;&nbsp; 710<br />
32.2　处理RCP项目的运行错误&nbsp;&nbsp;&nbsp; 711<br />
32.3　在Java Web Start中使用RCP&nbsp;&nbsp;&nbsp; 713<br />
32.3.1&nbsp; WebRCP简介&nbsp;&nbsp;&nbsp; 713<br />
32.3.2&nbsp; 在WebRCP中安装SMS项目的操作步骤&nbsp;&nbsp;&nbsp; 713<br />
32.3.3&nbsp; 运行，查看WebRCP效果&nbsp;&nbsp;&nbsp; 715<br />
32.4　Java Web Start的证书&nbsp;&nbsp;&nbsp; 715<br />
32.4.1&nbsp; 生成证书&nbsp;&nbsp;&nbsp; 715<br />
32.4.2&nbsp; 用证书为webrcp.jar文件进行数字签名&nbsp;&nbsp;&nbsp; 716<br />
32.4.3&nbsp; 替换证书后的效果&nbsp;&nbsp;&nbsp; 716<br />
第33章　让软件具有更好的扩展性&nbsp;&nbsp;&nbsp; 718<br />
33.1　将软件模块插件化的思路&nbsp;&nbsp;&nbsp; 718<br />
33.2　把插件安装到RCP项目&nbsp;&nbsp;&nbsp; 719<br />
33.3　插件之间的互相依赖&nbsp;&nbsp;&nbsp; 719<br />
33.4　多个插件共享jar包&nbsp;&nbsp;&nbsp; 720<br />
33.5　自定义扩展点（V025）&nbsp;&nbsp;&nbsp; 720<br />
33.5.1&nbsp; 增加一个自定义扩展点&nbsp;&nbsp;&nbsp; 721<br />
33.5.2&nbsp; 使用自定义扩展点&nbsp;&nbsp;&nbsp; 721<br />
33.5.3&nbsp; 创建扩展点定义的类PluginNavigatorEntry&nbsp;&nbsp;&nbsp; 721<br />
33.5.4&nbsp; 读取扩展点定义的信息&nbsp;&nbsp;&nbsp; 722<br />
33.5.5&nbsp; 总结&nbsp;&nbsp;&nbsp; 723<br />
33.5.6&nbsp; 创建扩展点的schema文件&nbsp;&nbsp;&nbsp; 723<br />
第5篇&nbsp; Web开发篇<br />
第34章&nbsp; Web环境的搭建（V001）&nbsp;&nbsp;&nbsp; 725<br />
34.1&nbsp; 概述&nbsp;&nbsp;&nbsp; 725<br />
34.2&nbsp; Tomcat的下载与安装&nbsp;&nbsp;&nbsp; 725<br />
34.2.1&nbsp; 下载Tomcat&nbsp;&nbsp;&nbsp; 726<br />
34.2.2&nbsp; 安装Tomcat&nbsp;&nbsp;&nbsp; 726<br />
34.2.3&nbsp; 确认Tomcat安装成功&nbsp;&nbsp;&nbsp; 727<br />
34.3&nbsp; Lomboz的下载与安装&nbsp;&nbsp;&nbsp; 728<br />
34.3.1&nbsp; 下载Lomboz&nbsp;&nbsp;&nbsp; 728<br />
34.3.2&nbsp; 安装Lomboz&nbsp;&nbsp;&nbsp; 728<br />
34.3.3&nbsp; Lomboz的环境设置&nbsp;&nbsp;&nbsp; 729<br />
34.3.4&nbsp; 使用Lomboz应注意的问题&nbsp;&nbsp;&nbsp; 730<br />
34.5&nbsp; JSP的HelloWorld&nbsp;&nbsp;&nbsp; 730<br />
34.5.1&nbsp; 创建一个Web项目&nbsp;&nbsp;&nbsp; 730<br />
34.5.2　创建一个JSP文件&nbsp;&nbsp;&nbsp; 732<br />
34.5.3　web.xml错误的解决&nbsp;&nbsp;&nbsp; 732<br />
34.5.4&nbsp; 在Lomboz中启动Tomcat&nbsp;&nbsp;&nbsp; 733<br />
34.5.5&nbsp; 一些相关问题&nbsp;&nbsp;&nbsp; 735<br />
34.6&nbsp; 配置Tomcat的数据库连接池&nbsp;&nbsp;&nbsp; 735<br />
34.6.1&nbsp; 复制JDBC连接包&nbsp;&nbsp;&nbsp; 735<br />
34.6.2&nbsp; 安装Tomcat的管理模块并配置&nbsp;&nbsp;&nbsp; 735<br />
34.6.3&nbsp; 修改Tomcat的context.xml文件&nbsp;&nbsp;&nbsp; 736<br />
34.6.5&nbsp; 测试数据库连接池&nbsp;&nbsp;&nbsp; 736<br />
第35章&nbsp; 一个纯JSP+JavaBean实例（V002）&nbsp;&nbsp;&nbsp; 739<br />
35.1&nbsp; 创建JavaBean&nbsp;&nbsp;&nbsp; 739<br />
35.1.1&nbsp; 修改AbstractDbOperate类&nbsp;&nbsp;&nbsp; 739<br />
35.1.2&nbsp; 修改数据库连接管理器ConnectManager类&nbsp;&nbsp;&nbsp; 740<br />
35.1.3&nbsp; 在Constants类中增加一个字符串常量&nbsp;&nbsp;&nbsp; 740<br />
35.1.4&nbsp; 修改工厂类SmsFactory&nbsp;&nbsp;&nbsp; 741<br />
35.2&nbsp; 编写JSP文件&nbsp;&nbsp;&nbsp; 741<br />
35.2.1&nbsp; 实例的流程及效果&nbsp;&nbsp;&nbsp; 741<br />
35.2.2&nbsp; JSP文件说明&nbsp;&nbsp;&nbsp; 742<br />
35.2.3&nbsp; JSP文件的源代码&nbsp;&nbsp;&nbsp; 742<br />
35.2.4　使用JSP应注意的问题&nbsp;&nbsp;&nbsp; 745<br />
第36章&nbsp; 在Eclipse中使用Struts&nbsp;&nbsp;&nbsp; 747<br />
36.1&nbsp; Struts的下载及安装&nbsp;&nbsp;&nbsp; 747<br />
36.1.1&nbsp; 下载&nbsp;&nbsp;&nbsp; 747<br />
36.1.2&nbsp; 安装&nbsp;&nbsp;&nbsp; 748<br />
36.2&nbsp; Struts入门实例（V003）&nbsp;&nbsp;&nbsp; 749<br />
36.2.1&nbsp; Struts原理简介&nbsp;&nbsp;&nbsp; 749<br />
36.2.2&nbsp; 用户登录实例&nbsp;&nbsp;&nbsp; 751<br />
36.3&nbsp; 让Dreamweaver支持Struts标签&nbsp;&nbsp;&nbsp; 757<br />
36.3.1&nbsp; 下载与安装支持Struts标签的插件&nbsp;&nbsp;&nbsp; 757<br />
36.3.2&nbsp; 将Struts标签添加到Dreamweaver中&nbsp;&nbsp;&nbsp; 758<br />
36.3.3&nbsp; 插件的效果&nbsp;&nbsp;&nbsp; 758<br />
36.4&nbsp; 深入struts-config.xml&nbsp;&nbsp;&nbsp; 759<br />
36.4.1&nbsp; 页面转发&nbsp;&nbsp;&nbsp; 759<br />
36.4.2&nbsp; &lt;form-beans&gt;项之动态ActionForm&nbsp;&nbsp;&nbsp; 760<br />
36.4.3&nbsp; &lt;action-mappings&gt;项&nbsp;&nbsp;&nbsp; 760<br />
36.4.4&nbsp; 使用DispatchAction类&nbsp;&nbsp;&nbsp; 761<br />
36.4.5&nbsp; 使用多个struts-config.xml配置文件&nbsp;&nbsp;&nbsp; 762<br />
36.4.6&nbsp; 解决命名冲突&nbsp;&nbsp;&nbsp; 762<br />
36.5&nbsp; 验证的多种方法&nbsp;&nbsp;&nbsp; 763<br />
36.5.1&nbsp; 方法一&nbsp;&nbsp;&nbsp; 763<br />
36.5.2&nbsp; 方法二（V004）&nbsp;&nbsp;&nbsp; 764<br />
36.6&nbsp; 使用更多的Struts标签&nbsp;&nbsp;&nbsp; 770<br />
36.6.1&nbsp; 获知更多的标签&nbsp;&nbsp;&nbsp; 770<br />
36.6.2&nbsp; 表单类标签&nbsp;&nbsp;&nbsp; 771<br />
36.6.3&nbsp; 其他说明&nbsp;&nbsp;&nbsp; 773<br />
第37章&nbsp; 在Eclipse中使用Hibernate&nbsp;&nbsp;&nbsp; 774<br />
37.1&nbsp; 概&nbsp;&nbsp;&nbsp; 述&nbsp;&nbsp;&nbsp; 774<br />
37.1.1&nbsp; 持久化框架产生的背景和现状&nbsp;&nbsp;&nbsp; 774<br />
37.1.2&nbsp; Hibernate简介&nbsp;&nbsp;&nbsp; 775<br />
37.1.3&nbsp; 本章说明&nbsp;&nbsp;&nbsp; 775<br />
37.2&nbsp; Hibernate的下载和安装&nbsp;&nbsp;&nbsp; 776<br />
37.2.1&nbsp; 下载&nbsp;&nbsp;&nbsp; 776<br />
37.2.2&nbsp; 安装&nbsp;&nbsp;&nbsp; 777<br />
37.3&nbsp; 一个简单的Hibernate实例（V005）&nbsp;&nbsp;&nbsp; 777<br />
37.3.1&nbsp; 创建Hibernate配置文件：hibernate.cfg.xml&nbsp;&nbsp;&nbsp; 777<br />
37.3.2&nbsp; 创建XML映射文件：model.hbm.xml&nbsp;&nbsp;&nbsp; 778<br />
37.3.3&nbsp; 创建HibernateUtil类&nbsp;&nbsp;&nbsp; 779<br />
37.3.4&nbsp; 创建GradeManager类&nbsp;&nbsp;&nbsp; 780<br />
37.3.5&nbsp; 创建hibernateTest.jsp&nbsp;&nbsp;&nbsp; 781<br />
37.3.6&nbsp; 总结及实践建议&nbsp;&nbsp;&nbsp; 782<br />
37.4&nbsp; 继续深入使用Hibernate（V006）&nbsp;&nbsp;&nbsp; 782<br />
37.4.1&nbsp; 修改XML映射文件&nbsp;&nbsp;&nbsp; 783<br />
37.4.2&nbsp; 数据库操作类的实现&nbsp;&nbsp;&nbsp; 786<br />
37.4.3&nbsp; 修改使用DbOperate类的程序&nbsp;&nbsp;&nbsp; 788<br />
37.5&nbsp; 实现用户的修改、删除功能（V007）&nbsp;&nbsp;&nbsp; 790<br />
37.5.1&nbsp; 界面效果及功能说明&nbsp;&nbsp;&nbsp; 790<br />
37.5.2&nbsp; 在DbOperate类增加方法&nbsp;&nbsp;&nbsp; 790<br />
37.5.3&nbsp; 在用户列表userList.jsp文件增加两个超链接&nbsp;&nbsp;&nbsp; 791<br />
37.5.4&nbsp; 在Struts配置文件struts-config.xml中增加一个action定义&nbsp;&nbsp;&nbsp; 792<br />
37.5.5&nbsp; 修改UserForm类&nbsp;&nbsp;&nbsp; 792<br />
37.5.6&nbsp; 创建UserAction类&nbsp;&nbsp;&nbsp; 793<br />
37.5.7&nbsp; 创建modifyUser.jsp&nbsp;&nbsp;&nbsp; 795<br />
37.6&nbsp; 解决Tomcat的中文问题（V008）&nbsp;&nbsp;&nbsp; 796<br />
37.7&nbsp; Web的打包发行&nbsp;&nbsp;&nbsp; 796<br />
37.8&nbsp; Hibernate的自动生成工具&nbsp;&nbsp;&nbsp; 797<br />
37.8.1&nbsp; 由XML映射文件生成数据库表（V009）&nbsp;&nbsp;&nbsp; 797<br />
37.8.2&nbsp; 使用Hibernate Tools&nbsp;&nbsp;&nbsp; 798<br />
<br />
<br />
<img src ="http://www.blogjava.net/chengang/aggbug/106226.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2007-04-05 11:42 <a href="http://www.blogjava.net/chengang/archive/2007/04/05/106226.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>表格修改器实例BUG的解决。</title><link>http://www.blogjava.net/chengang/archive/2006/12/12/87356.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Tue, 12 Dec 2006 14:22:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/12/12/87356.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/87356.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2006/12/12/87356.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/87356.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/87356.html</trackback:ping><description><![CDATA[不帖代码了，打到一个包里，大家下载吧。程序需要Apache Common Lang的支持，一并包含在了压缩包里了。<a href="/Files/chengang/jface_tableviewer.rar">http://www.blogjava.net/Files/chengang/jface_tableviewer.rar</a><img src ="http://www.blogjava.net/chengang/aggbug/87356.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-12-12 22:22 <a href="http://www.blogjava.net/chengang/archive/2006/12/12/87356.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SWT的API文档</title><link>http://www.blogjava.net/chengang/archive/2006/05/24/47863.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Wed, 24 May 2006 10:09:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/05/24/47863.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/47863.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2006/05/24/47863.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/47863.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/47863.html</trackback:ping><description><![CDATA[N多人来信问我要SWT的API文档，这说明有N多人不会上网用google找。<br />一等二靠是要不得的，自力更生才是王道。<br />虽然这样说，我还是做个二道贩子把API文档转到这里吧，唉。<br />API文档如下地址：<a href="/Files/chengang/swt.rar">http://www.blogjava.net/Files/chengang/swt.rar</a><img src ="http://www.blogjava.net/chengang/aggbug/47863.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-05-24 18:09 <a href="http://www.blogjava.net/chengang/archive/2006/05/24/47863.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse无法查看源代码的解决</title><link>http://www.blogjava.net/chengang/archive/2006/04/26/43241.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Wed, 26 Apr 2006 04:46:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/04/26/43241.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/43241.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2006/04/26/43241.html#Feedback</comments><slash:comments>29</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/43241.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/43241.html</trackback:ping><description><![CDATA[
		<div>提问：<br /><font style="BACKGROUND-COLOR: #ffffff" color="#006400">我现在在xp系统下使用eclipse3.12+3.11语言包，根据《Eclipse从入门到精通》一书中关于查看源代码的内容，我在eclipse3.12+3.11语言包上操作，无法进行，提示有错误；然后，我在纯英文的eclipse3.12下进行操作，能够看到JDK的源代码；最后，再进入eclipse3.12+3.11语言包环境，现在可以在中文环境下查看JDK的源代码。（是否能告诉我是什么原因，时不时语言包的问题。）但是，我始终无法按照书上说的查看eclipse源代码，因为我的eclipse目录D:\eclipse312\plugins下只有org.eclipse.jface.text_3.1.2.jar和org.eclipse.jface_3.1.1.jar两个文件，没有org.eclipse.platform.source_3.01（或者是3.12等）的文件夹。 <br />请教：我应该怎么作才能看到eclipse的源代码？</font><br /><br /><br /><strong>回答：<br /></strong><br />最新常有人提出类似的问题，今天我特意尝试了一下，并没有出现提问者所说的情况，真是奇怪。<br />我在这里复述一下我的实践过程吧：</div>
		<div> </div>
		<div>先说说我的系统环境：Windows XP＋JDK1.5。<br />关于JDK，环境变量设置了JAVA_HOME，但没有设置classpath。</div>
		<div> </div>
		<div>（1）下载Eclipse。文件名：eclipse-SDK-3.1.2-win32.zip<br />说明：和你下载的文件名是一样的吗？</div>
		<div> </div>
		<div>（2）下载中文包：NLpack1-eclipse-SDK-3.1.1a-win32.zip、NLpack1_FeatureOverlay-eclipse-SDK-3.1.1.zip<br />说明：中文包共两个文件，是基于3.1.1的，不过Eclipse3.1.2也可以用它来汉化。</div>
		<div> </div>
		<div>（3）将Eclipse安装在桌面上（反正我是临时实验用，放在桌面上方便），用link法安装中文包（两个文件）。</div>
		<div> </div>
		<div>（4）启动Eclipse后，汉化正常。</div>
		<div> </div>
		<div>（5）创建一个插件项目，选择使用了“Hello,World”模板。</div>
		<div> </div>
		<div>（6）共查看了以下四个类的源码，都很正常没有报错。这个四个类是：插件的AbstractUIPlugin类、SWT的Button类、JFace的TreeViewer类、JDK的ArrayList类<br /><br />后记：我又试了创建一个普通项目，然后按照《Eclipse从入门到精通》中所说的那样，添加了几个对SWT库的引用后，转变成一个支持SWT开发项目。再次查看上面所说四个类的源代码，一切正常。</div>
		<div> </div>
		<div>
				<br />
				<strong>估计读者错误原因：<br /></strong>
				<br />（1）下载的Eclipse不是SDK版，所以没有包含有源代码。请对照前面的下载文件名，保证相同。并且SDK应包含以下源文件库目录（目录名都含有source字符）。<br />org.eclipse.jdt.source_3.1.2<br />org.eclipse.pde.source_3.1.2<br />org.eclipse.platform.source.win32.win32.x86_3.1.2<br />org.eclipse.platform.source_3.1.2<br />org.eclipse.rcp.source.win32.win32.x86_3.1.2<br />org.eclipse.rcp.source_3.1.2</div>
		<div> </div>
		<div>（2）库引用不全。（但如果你在英文版下可以，在中文版下不行，那么这个错误原因可以排除）</div>
		<div> </div>
		<div> </div>
<img src ="http://www.blogjava.net/chengang/aggbug/43241.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-04-26 12:46 <a href="http://www.blogjava.net/chengang/archive/2006/04/26/43241.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Eclipse从入门到精通》提问前必读 </title><link>http://www.blogjava.net/chengang/archive/2006/04/24/42872.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Mon, 24 Apr 2006 10:30:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/04/24/42872.html</guid><description><![CDATA[
		<div class="postbody">
				<div>
						<font style="BACKGROUND-COLOR: #ffffff">
								<font color="#000000">如果碰到问题，请先到“常见问题解答</font>
								<a href="/chengang/archive/2006/04/24/42868.html">http://www.blogjava.net/chengang/archive/2006/04/24/42868.html</a>
								<font color="#000000">”这个帖子里查看你的问题是否已经被解答，大部分常见问题已经收集在这个帖子中。</font>
						</font>
						<br />
						<br />
						<br />
						<strong>一、由于时间精力有限，以下情况的提问可能无法得到解答或令您满意的解答</strong>
						<br />（1）提问请发Email，<font color="#ff0000">不再接受网站上回帖的提问。</font><br />（2）不是本书内容的提问。比如：怎么连接Oracle？怎么使用Visual Editor？怎么开发RCP？<br />（3）帮忙调试程序的提问。</div>
				<div>
						<br />
						<strong>二、如果安装、配置、调试出错了怎么办。</strong>
						<br />　　由于JAVA软件的多样性所以安装配置起来会很复杂，常常稍不留心就无法成功。如果你在学习本书过程出现了这类错误，可以考虑检查如下几点：<br /><font color="#006400">（1）软件版本是否和书中给出的一样。<br />（2）所写代码是否有错误。建议您复制随书光盘上的代码运行，以防止一些很细微的打字级别的错误。<br />（3）操作步骤是否和书中给出的一样，操作顺序对不对。<br />（4）参考随书附带光盘里的安装配置视频<br /></font><br /><strong>三、提问的方法<br /><br /></strong>　　对所提问题一定要描述详尽，常会看到这样的提问：“我的WEB 配置失败了，怎么回事？”“我的index.jsp文件修改不了，出错了，怎么办？”。提这样只知结果没有过程的问题，是没有人可以帮助到你的，就好象病人对医生说“我身体不舒服头痛，怎么办？”，医生也无法确诊。因此你的<span style="COLOR: red">提问应尽量详细，用语准确</span>，避免在关键字句上让人产生岐义。<br /><br />１、安装配置失败类<br />（1）软件版本，安装环境。这是一定要给出的，因为JAVA软件不同版本的安装配置是有差异。<br />（2）安装步骤。这可以简化给出关键性的步骤。<br />（3）错误现象的描述。这是一定要给出来的，可以要详尽准确<br />（4）你做了那些尝试，应该给出。不要一出问题就提问，你必须要自己做一些解决问题的尝试，这样你的解决问题的能力才有可能得到提高。而且你给出所做的尝试，也节省了回答者寻找问题答案的时间。<br /><br />２、程序类错误<br />（1）源代码，一定要给出，而要给全。<br />（2）运行的环境和支持包的版本，一定要给出。比如有个人曾说我数据库连不上，后来才发现是mysql的数据库连接包版本下错了。<br />（3）给出输出的异常Exception的详细信息。<br /><br /></div>
		</div>
<img src ="http://www.blogjava.net/chengang/aggbug/42872.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-04-24 18:30 <a href="http://www.blogjava.net/chengang/archive/2006/04/24/42872.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Eclipse从入门到精通》附录D　手工创建一个SWT项目(完全抛弃SWT Designer) </title><link>http://www.blogjava.net/chengang/archive/2006/04/24/42871.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Mon, 24 Apr 2006 10:29:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/04/24/42871.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/42871.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2006/04/24/42871.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/42871.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/42871.html</trackback:ping><description><![CDATA[
		<h1 style="MARGIN: 15.6pt 0cm">
				<font size="5">
						<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">附录</span>
						<span lang="EN-US">
								<font face="Arial">D</font>
						</span>
						<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">　手工创建一个</span>
						<span lang="EN-US">
								<font face="Arial">SWT</font>
						</span>
						<span style="FONT-FAMILY: 黑体; mso-ascii-font-family: Arial">项目</span>
				</font>
		</h1>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">　　在</span>
				<span lang="EN-US">SWT/JFace</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">篇，读者来信中反映</span>
				<span lang="EN-US">SWT Designer</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的下载、安装、注册等问题比较多，如果用不了</span>
				<span lang="EN-US">SWT Designer</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，读者们就无法按照书上所示的步骤创建一个</span>
				<span lang="EN-US">SWT</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">项目，也就无法继续学习下面的内容，这引起了不少读者的困扰。<br /></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<br />　　这里笔者要强调一点：</span>
				<span lang="EN-US">SWT Designer</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等</span>
				<span lang="EN-US">UI</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设计工具并非是开发</span>
				<span lang="EN-US">SWT/JFace</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序所必须的，而且本书从第</span>
				<span lang="EN-US">7</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">章起就不再和</span>
				<span lang="EN-US">SWT Designer</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有关系了。笔者现在开发</span>
				<span lang="EN-US">SWT</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序就再也没有用过</span>
				<span lang="EN-US">SWT Designer</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了，它更多的时候可以做为初学者学习</span>
				<span lang="EN-US">SWT</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的工具，以及开发初期界面布局的辅助设计工具。<br /></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<br />　　这里通过附录的方式给出一个不必安装</span>
				<span lang="EN-US">SWT Designer</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，也能轻易创建一个</span>
				<span lang="EN-US">SWT</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">项目的方法，以便无法安装</span>
				<span lang="EN-US">SWT Designer</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的读者，继续学习本书后面的内容。此方法的操作步骤如下：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<?XML:NAMESPACE PREFIX = O /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第一步：参照第</span>
				<span lang="EN-US">17</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">页第</span>
				<span lang="EN-US">4.2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节的第一步，新建一个普通的空</span>
				<span lang="EN-US">java</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">项目，项目取名为“</span>
				<span lang="EN-US">myswt</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第二步：参照第</span>
				<span lang="EN-US">26</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">页的“第一步：将</span>
				<span lang="EN-US">JFace</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包加入到</span>
				<span lang="EN-US">Eclipse</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的构建路径上”，将以下列表中</span>
				<span lang="EN-US">SWT/JFace</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">项目依赖的</span>
				<span lang="EN-US">jar</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包，全部加入到</span>
				<span lang="EN-US">myswt</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">项目的库引用中。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-outline-level: 1">
				<span lang="EN-US">ECLIPSE_HOME/plugins</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下的</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.osgi_3.0.1/osgi.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.osgi_3.0.1/core.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.osgi_3.0.1/resolver.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.osgi_3.0.1/defaultAdaptor.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.osgi_3.0.1/eclipseAdaptor.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.osgi_3.0.1/console.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.core.runtime_3.0.1/runtime.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.ui.workbench_3.0.1/workbench.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.ui.workbench.compatibility_3.0.0/compatibility.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.swt.win32_3.0.1/ws/win32/swt.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.jface_3.0.0/jface.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.jface.text_3.0.1/jfacetext.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span lang="EN-US">ECLIPSE_HOME/language/eclipse/plugins/</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下的</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.jface.text.nl1_3.0.1/nl1.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.core.runtime.nl1_3.0.1/nl1.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.jface.nl1_3.0.0/nl1.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">org.eclipse.ui.workbench.nl1_3.0.1/nl1.jar</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0; mso-para-margin-left: 2.0gd">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）有些读者可能不太明白为什么要导入这么多</span>
				<span lang="EN-US">jar</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包。其实道理很简单，举例说，开发基于</span>
				<span lang="EN-US">Hibernate</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的程序，需要</span>
				<span lang="EN-US">Hibernate</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">jar</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持包。同样，开发</span>
				<span lang="EN-US">SWT/Jface</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序，也需要</span>
				<span lang="EN-US">SWT/Jface</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">jar</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持包。而且不仅仅是</span>
				<span lang="EN-US">swt.jar</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
				<span lang="EN-US">jface.jar</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两个包就够了，因为这两个包本身还需要其他</span>
				<span lang="EN-US">jar</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包的支持。而</span>
				<span lang="EN-US">Eclipse</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的库引用和</span>
				<span lang="EN-US">Java</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中</span>
				<span lang="EN-US">classpath</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的作用是一样的。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span>
				<span lang="EN-US">ECLIPSE_HOME</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US">Eclipse</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中是一个变量，它指向</span>
				<span lang="EN-US">Eclipse</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的安装目录。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">3</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span>
				<span lang="EN-US">ECLIPSE_HOME/language</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的</span>
				<span lang="EN-US">language</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是多国语言包的安装目录（参阅图</span>
				<span lang="EN-US">2.4</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">4</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span>
				<span lang="EN-US">language</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下的几个</span>
				<span lang="EN-US">jar</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包的导入是可选的。如果不导入这几个包，则所开发的</span>
				<span lang="EN-US">SWT</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序在运行时，继承自原界面的控件文字将会是英文的。比如第</span>
				<span lang="EN-US">178</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">页的图</span>
				<span lang="EN-US">16.3</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，如果不导入这几个多国语言包，则图中的“确定”按钮，将变成英文“</span>
				<span lang="EN-US">OK</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
				<span lang="EN-US">5</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）这些界面设置的结果将保存在项目根目录下的“</span>
				<span lang="EN-US">.classpath</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”文件中。</span>
		</p>
		<p class="a" style="MARGIN: 7.8pt 0cm">
				<font size="2">
						<font style="BACKGROUND-COLOR: #dddddd">
								<span style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">提示：把这些</span>
								<span lang="EN-US">jar</span>
								<span style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">包一个个导入到项目中实在太麻烦了，这里告诉大家一个更快捷的方法：把随书光盘“第二篇</span>
								<span lang="EN-US">
										<span style="mso-spacerun: yes">  </span>SWT_JFace</span>
								<span style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">篇</span>
								<span lang="EN-US">(6-16</span>
								<span style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">章</span>
								<span lang="EN-US">)\myswt</span>
								<span style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">”中的</span>
								<span lang="EN-US">.classpath</span>
								<span style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">文件覆盖当前所建项目的</span>
								<span lang="EN-US">.classpath</span>
								<span style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">文件，然后刷新项目（右键单击项目名，选择快捷菜单的“刷新”项），这样也能完成本步的操作。</span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第三步：参照第</span>
				<span lang="EN-US">49</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">页，将</span>
				<span lang="EN-US">SWT</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">原生库</span>
				<span lang="EN-US">swt-win32-3063.dll</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">导入到项目中。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完成上面三步之后，我们就可以开发并运行</span>
				<span lang="EN-US">SWT/JFace</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序了。不过因为没有安装</span>
				<span lang="EN-US">SWT Designer</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，因此也就无法使用</span>
				<span lang="EN-US">SWT Designer</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供的一些新建</span>
				<span lang="EN-US">SWT</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序的向导（如第</span>
				<span lang="EN-US">50</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">页），但那又有什么关系呢？我们可以直接创建</span>
				<span lang="EN-US">java</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序文件，直接写</span>
				<span lang="EN-US">swt</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代码，也是一样的。</span>
		</p>
<img src ="http://www.blogjava.net/chengang/aggbug/42871.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-04-24 18:29 <a href="http://www.blogjava.net/chengang/archive/2006/04/24/42871.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网上购买《Eclipse从入门到精通》 &amp; 样章下载 </title><link>http://www.blogjava.net/chengang/archive/2006/04/24/42870.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Mon, 24 Apr 2006 10:29:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/04/24/42870.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/42870.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2006/04/24/42870.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/42870.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/42870.html</trackback:ping><description><![CDATA[
		<div class="postbody">如果当地书店没有，可以去网上购买<br /><br />china-pub：<a href="http://www.china-pub.com/computers/common/info.asp?id=25601" target="_new"><font color="#002c99">http://www.china-pub.com/computers/common/info.asp?id=25601</font></a><br /><br />样章下载：<a href="http://www.china-pub.com/computers/ebook25001-30000/25601/ch18.rar"><font color="#1d58d1">《第18章 常用插件扩展点》</font></a><br /></div>
<img src ="http://www.blogjava.net/chengang/aggbug/42870.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-04-24 18:29 <a href="http://www.blogjava.net/chengang/archive/2006/04/24/42870.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Eclipse从入门到精通》中软件的下载地址（2007-12-16更新）</title><link>http://www.blogjava.net/chengang/archive/2006/04/24/42869.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Mon, 24 Apr 2006 10:28:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/04/24/42869.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/42869.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2006/04/24/42869.html#Feedback</comments><slash:comments>88</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/42869.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/42869.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<p>
</p>
<p>
</p>
<p>
</p>
<p>
<br />
</p>
<p>
<br />
</p>
<p align="center">
<br />
</p>
<div align="left">下载地址(包括第一版和第二版的软件)：地址已经失效</div>
<p>
<br />
</p>
<p>
<br />
</p>
<p>
<br />
</p>
<p>
<a href="http://glchengang.gbaopan.com/">
<br />
</a>
</p><img src ="http://www.blogjava.net/chengang/aggbug/42869.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-04-24 18:28 <a href="http://www.blogjava.net/chengang/archive/2006/04/24/42869.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Eclipse从入门到精通》常见问题解答 </title><link>http://www.blogjava.net/chengang/archive/2006/04/24/42868.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Mon, 24 Apr 2006 10:27:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/04/24/42868.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/42868.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2006/04/24/42868.html#Feedback</comments><slash:comments>238</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/42868.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/42868.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 附录				B				　读者提问精选（第二次印刷）								起步篇								问：为什么我的				Swt-Designer				安装总是不成功？								答：将安装步骤要点简述如下：								（				1				）下载								笔者于				2005				年				8...&nbsp;&nbsp;<a href='http://www.blogjava.net/chengang/archive/2006/04/24/42868.html'>阅读全文</a><img src ="http://www.blogjava.net/chengang/aggbug/42868.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-04-24 18:27 <a href="http://www.blogjava.net/chengang/archive/2006/04/24/42868.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Eclipse从入门到精通》勘误表 </title><link>http://www.blogjava.net/chengang/archive/2006/04/24/42867.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Mon, 24 Apr 2006 10:26:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/04/24/42867.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/42867.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2006/04/24/42867.html#Feedback</comments><slash:comments>25</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/42867.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/42867.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
------------------------------------------------------------------------------------------------------------------------<br />
<p>
---------------------------------------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第二版的勘误表 &nbsp;&nbsp;&nbsp;&nbsp; --------------------------------------------<br />
------------------------------------------------------------------------------------------------------------------------</p>
<br />
<ol>
    <li>封面广告的第一条&#8220;....，以最新的Eclipse3.2为写作版本&#8221;。<br />
    年初结稿时是这样的，不过现在最新的版本是Eclipse3.3，软件更新真是太快了。</li>
    <li>封面广告的第三条&#8220;重写了API，....&#8221;。应该为&#8220;根据新的API重写，...&#8221;</li>
    <li>封底的折页广告。&#8220;第二批：&#8221;第四本&#8220;&lt;&lt;Eclipse开发从入门到精通(第2版)&gt;&gt;&#8221;。多了&#8220;开发&#8221;两字<br />
    </li>
</ol>
<br />
<br />
<br />
<br />
<br />
<p>------------------------------------------------------------------------------------------------------------------------<br />
---------------------------------------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一版的勘误表 &nbsp;&nbsp;&nbsp;&nbsp; --------------------------------------------<br />
------------------------------------------------------------------------------------------------------------------------</p>
<br />
<br />
<div class="postbody">
<div class="Section1">
<span lang="EN-US">
<strong style="font-size: 24pt;">对第一次印刷的勘误表</strong>
</span>
<br />
<br />
<table class="MsoNormalTable" style="width: 437.4pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0" width="583">
    <tbody>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">页码</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错误位置</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">修改后的文字</span>
            </p>
            </td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;<span style="font-size: 10.5pt; font-family: 宋体;">前言</span><span style="font-size: 10.5pt; font-family: 'times new roman';" lang="EN-US">III</span><span style="font-size: 10.5pt; font-family: 宋体;">，第四行未尾添加进如右所示文字</span></td>
            <td>&nbsp;<span style="font-size: 10.5pt; font-family: 宋体;">感谢网友</span><span style="font-size: 10.5pt; font-family: 'times new roman';" lang="EN-US">ksafe</span><span style="font-size: 10.5pt; font-family: 宋体;">、卢俊、</span><span style="font-size: 10.5pt; font-family: 'times new roman';" lang="EN-US">yasker</span><span style="font-size: 10.5pt; font-family: 宋体;">、</span><span style="font-size: 10.5pt; font-family: 'times new roman';" lang="EN-US">konhon</span><span style="font-size: 10.5pt; font-family: 宋体;">、</span><span style="font-size: 10.5pt; font-family: 'times new roman';" lang="EN-US">limux</span><span style="font-size: 10.5pt; font-family: 宋体;">等校正了本书中的错误。</span></td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">11</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">页中间</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            <span lang="EN-US">Edition for Eclipse3.0GA&amp;3.0.1</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            <span lang="EN-US">V2.1.0 GA</span>
            <span style="font-family: 宋体;">（</span>
            <span lang="EN-US">2004.08.19</span>
            <span style="font-family: 宋体;">）</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">13</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">第一段的末尾</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：足够开发使用了。）</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：足够开发使用了；如果选</span>
            <span lang="EN-US">professional</span>
            <span style="font-family: 宋体;">项，则只能暂时使用几天）</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">27</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">从图</span>
            <span lang="EN-US">4.26</span>
            <span style="font-family: 宋体;">往下的第</span>
            <span lang="EN-US">4</span>
            <span style="font-family: 宋体;">行</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            <span lang="EN-US">Ctrl+Alt+O</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            <span lang="EN-US">Ctrl+Shift+O </span>
            <span style="font-family: 宋体;">。</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">31</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal" style="text-align: left;" align="left">
            <span style="font-family: 宋体;">第</span>
            <span lang="EN-US">3~7</span>
            <span style="font-family: 宋体;">行</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            <span lang="EN-US">Shift + Ctrl</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            <span lang="EN-US">Ctrl + Shift</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">（排版说明：将</span>
            <span lang="EN-US">Ctrl</span>
            <span style="font-family: 宋体;">和</span>
            <span lang="EN-US">Shift</span>
            <span style="font-family: 宋体;">两单词交换一下位置，共五对）</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">54</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal" style="text-align: left;" align="left">
            <span style="font-family: 宋体;">第</span>
            <span lang="EN-US">7</span>
            <span style="font-family: 宋体;">行</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：要想得到完整的代码请查阅本书随书光盘中的例程。</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：要得到程序的</span>
            <span lang="EN-US">import</span>
            <span style="font-family: 宋体;">引用，或完整代码，请查阅随书光盘中的相应例程。</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">第</span>
            <span lang="EN-US">57</span>
            <span style="font-family: 宋体;">页</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">中上部有灰色背景的代码</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">重新调整</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 409.5pt;" colspan="2" valign="top" width="546">
            <p class="MsoNormal" style="text-align: left;" align="left">
            <span style="color: blue;" lang="EN-US">public</span>
            <span style="color: black;" lang="EN-US">&nbsp;</span>
            <span style="color: blue;" lang="EN-US">class</span>
            <span style="color: black;" lang="EN-US">&nbsp;HelloWorld&nbsp;extends&nbsp;MouseAdapter{</span>
            <span style="color: green;" lang="EN-US">//</span>
            <span style="color: green; font-family: 宋体;">或</span>
            <span style="color: green;" lang="EN-US">implements&nbsp;MouseListener<br />
            </span>
            <span style="color: blue;" lang="EN-US">&nbsp;&nbsp;&nbsp; public</span>
            <span style="color: black;" lang="EN-US">&nbsp;</span>
            <span style="color: blue;" lang="EN-US">static</span>
            <span style="color: black;" lang="EN-US">&nbsp;</span>
            <span style="color: blue;" lang="EN-US">void</span>
            <span style="color: black;" lang="EN-US">&nbsp;main(String[]&nbsp;args)&nbsp;{<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new HelloWorld().createContent();<br />
            &nbsp;&nbsp;&nbsp; }<br />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;</span>
            <span style="color: blue;" lang="EN-US">private</span>
            <span style="color: black;" lang="EN-US">&nbsp;</span>
            <span style="color: blue;" lang="EN-US">void</span>
            <span style="color: black;" lang="EN-US">&nbsp;createContent()&nbsp;{<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
            <span style="color: black; font-family: 宋体;">&#8230;&#8230;</span>
            <span style="color: black;" lang="EN-US">
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;text1&nbsp;=&nbsp;</span>
            <span style="color: blue;" lang="EN-US">new</span>
            <span style="color: black;" lang="EN-US">&nbsp;Text(shell,&nbsp;SWT.BORDER);&nbsp;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;text2&nbsp;=&nbsp;</span>
            <span style="color: blue;" lang="EN-US">new</span>
            <span style="color: black;" lang="EN-US">&nbsp;Text(shell,&nbsp;SWT.BORDER);&nbsp;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text1.addMouseListener(</span>
            <span style="color: blue;" lang="EN-US">this</span>
            <span style="color: black;" lang="EN-US">);<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text2.addMouseListener(</span>
            <span style="color: blue;" lang="EN-US">this</span>
            <span style="color: black;" lang="EN-US">);<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
            <span style="color: black; font-family: 宋体;">&#8230;&#8230;</span>
            <span style="color: black;" lang="EN-US">
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;}<br />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;</span>
            <span style="color: blue;" lang="EN-US">public</span>
            <span style="color: black;" lang="EN-US">&nbsp;</span>
            <span style="color: blue;" lang="EN-US">void</span>
            <span style="color: black;" lang="EN-US">&nbsp;mouseDoubleClick(MouseEvent&nbsp;e)&nbsp;{<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageDialog.openInformation(</span>
            <span style="color: blue;" lang="EN-US">null</span>
            <span style="color: black;" lang="EN-US">,&nbsp;"",&nbsp;"Hello&nbsp;World");<br />
            &nbsp;&nbsp;&nbsp;&nbsp;}<br />
            }</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">89</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal" style="text-align: left;" align="left">
            <span lang="EN-US">"</span>
            <span style="font-family: 宋体;">图</span>
            <span lang="EN-US">10.23"</span>
            <span style="font-family: 宋体;">右图下标</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            <span lang="EN-US">horizontalIndent=9</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            <span lang="EN-US">horizontalIndent=90</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">114</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">倒数第三行</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            <span lang="EN-US">TablItem</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            <span lang="EN-US">TableItem</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">（排版说明：紧挨着，共有两个</span>
            <span lang="EN-US">TablItem</span>
            <span style="font-family: 宋体;">）</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">144</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">中间（倒数第</span>
            <span lang="EN-US">20</span>
            <span style="font-family: 宋体;">行）</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：正数，则</span>
            <span lang="EN-US">obj1</span>
            <span style="font-family: 宋体;">移到</span>
            <span lang="EN-US">obj2</span>
            <span style="font-family: 宋体;">之间</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：正数，则</span>
            <span lang="EN-US">obj1</span>
            <span style="font-family: 宋体;">移到</span>
            <span lang="EN-US">obj2</span>
            <span style="font-family: 宋体;">之前</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">148</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">中间部份，本页第</span>
            <span lang="EN-US">17</span>
            <span style="font-family: 宋体;">行</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">tv.remove(o);</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">/*</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">* </span>
            <span style="font-family: 宋体;">这里只是从界面表格将其去除掉。</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">* </span>
            <span style="font-family: 宋体;">如想从数据库里删除还得写相应的数据库删除代码。</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">*/</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">
            </span>&nbsp;</p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">tv.remove(o);//</span>
            <span style="font-family: 宋体;">从界面上删除</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">//</span>
            <span style="font-family: 宋体;">从数据模型的</span>
            <span lang="EN-US">List</span>
            <span style="font-family: 宋体;">容器中删除</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">List list = (List)tv.getInput();</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">list.remove(o);</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">//</span>
            <span style="font-family: 宋体;">如想从数据库里删除还要写相应的数据库删除代码</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">153</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">第</span>
            <span lang="EN-US">7</span>
            <span style="font-family: 宋体;">行</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">ctv.remove(o);</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">ctv.remove(o);//</span>
            <span style="font-family: 宋体;">从界面上删除</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">((List)tv.getInput()).remove(o);//</span>
            <span style="font-family: 宋体;">从数据模型的</span>
            <span lang="EN-US">List</span>
            <span style="font-family: 宋体;">容器中删除</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">153</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">第</span>
            <span lang="EN-US">17</span>
            <span style="font-family: 宋体;">行</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">tv.remove(o);</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">tv.remove(o);//</span>
            <span style="font-family: 宋体;">从界面上删除</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">((List)tv.getInput()).remove(o);//</span>
            <span style="font-family: 宋体;">从数据模型的</span>
            <span lang="EN-US">List</span>
            <span style="font-family: 宋体;">容器中删除</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">346</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">中间（第</span>
            <span lang="EN-US">17</span>
            <span style="font-family: 宋体;">行）</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">super.dispose();</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">Context.getInstance().removeLogoffListener(this);</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">Context.getInstance().dispose();</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">Context.getInstance().removeLogoffListener(this);</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">Context.getInstance().dispose();</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">super.dispose();</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">
            </span>&nbsp;</p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">（排版说明：要保证三行向右对齐。原来的第三行后缩了几个空格，是错的。）</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">416</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">中下部（倒数第</span>
            <span lang="EN-US">11</span>
            <span style="font-family: 宋体;">行）</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            <span lang="EN-US">Lomboz3.1.0</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            <span lang="EN-US">Lomboz3.0.1</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">421</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">第</span>
            <span lang="EN-US">8</span>
            <span style="font-family: 宋体;">行</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：图</span>
            <span lang="EN-US">23.12</span>
            <span style="font-family: 宋体;">是安装完成后的</span>
            <span lang="EN-US">Eclipse</span>
            <span style="font-family: 宋体;">目录结构。注意：</span>
            <span lang="EN-US">lomboz</span>
            <span style="font-family: 宋体;">目录下还有一个</span>
            <span lang="EN-US">eclipse</span>
            <span style="font-family: 宋体;">子目录。</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">图</span>
            <span lang="EN-US">23.12</span>
            <span style="font-family: 宋体;">是安装完成后的</span>
            <span lang="EN-US">Eclipse</span>
            <span style="font-family: 宋体;">目录结构。</span>
            </p>
            <p class="Char">
            <span style="font-family: 宋体;">注意：</span>
            <span lang="EN-US">lomboz</span>
            <span style="font-family: 宋体;">目录下还有一个</span>
            <span lang="EN-US">eclipse</span>
            <span style="font-family: 宋体;">子目录，这是采用</span>
            <span lang="EN-US">Link</span>
            <span style="font-family: 宋体;">式插件安装方法比较容易忽略的一个要点。</span>
            </p>
            <p class="MsoNormal">
            <span lang="EN-US">
            </span>&nbsp;</p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">（排版说明：将&#8220;注意：</span>
            <span lang="EN-US">lomboz</span>
            <span style="font-family: 宋体;">目录</span>
            <span lang="EN-US">.....</span>
            <span style="font-family: 宋体;">&#8221;另起一行，并且加上灰色背景）</span>
            </p>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 27.9pt;" valign="top" width="37">
            <p class="MsoNormal">
            <span lang="EN-US">475</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 130.5pt;" valign="top" width="174">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">图</span>
            <span lang="EN-US">26.3</span>
            <span style="font-family: 宋体;">下的第一行</span>
            </p>
            </td>
            <td style="padding: 0cm 5.4pt; width: 279pt;" valign="top" width="372">
            <p class="MsoNormal">
            <span style="font-family: 宋体;">错：</span>
            <span lang="EN-US">Hibernate-2.7.1c.zip</span>
            </p>
            <p class="MsoNormal">
            <span style="font-family: 宋体;">对：</span>
            <span lang="EN-US">Hibernate-2.1.7c.zip</span>
            </p>
            </td>
        </tr>
    </tbody>
</table>
<p class="MsoNormal">
<span lang="EN-US">
<br />
</span>&nbsp;</p>
<p class="MsoNormal">
<span lang="EN-US">
<br />
</span>
</p>
<p class="MsoNormal">
<span lang="EN-US">
<strong style="font-size: 24pt;">对第二次印刷的勘误表</strong>
</span>
</p>
<p class="MsoNormal">
<span lang="EN-US">&nbsp;&nbsp;&nbsp;
<table border="1" cellpadding="0" cellspacing="0">
    <tbody>
        <tr>
            <td valign="top" width="37">
            <p>书中页码</p>
            </td>
            <td valign="top" width="174">
            <p>错误位置</p>
            </td>
            <td valign="top" width="372">
            <p>修改后的文字</p>
            </td>
        </tr>
        <tr>
            <td valign="top" width="37">
            <p><span lang="EN-US"></span>&nbsp;</p>
            </td>
            <td valign="top" width="174">
            <p>第<span lang="EN-US">27</span>页&#8220;图<span lang="EN-US">4.26</span>&#8221;下<span lang="EN-US">10</span>行</p>
            </td>
            <td valign="top" width="372">
            <p>错：空缺了步骤（<span lang="EN-US">3</span>）</p>
            <p>对：将步骤的编号依次上移一位</p>
            </td>
        </tr>
        <tr>
            <td valign="top" width="37">
            <p><span lang="EN-US"></span>&nbsp;</p>
            </td>
            <td valign="top" width="174">
            <p>第<span lang="EN-US">116</span>页倒数<span lang="EN-US">6</span>－<span lang="EN-US">9</span>行</p>
            </td>
            <td valign="top" width="372">
            <p>错：</p>
            <p><span lang="EN-US">/*</span></p>
            <p><span lang="EN-US">* </span>创建一个<span lang="EN-US">Table</span>对象，在式样里设置它可多选，全列选择。</p>
            <p><span lang="EN-US">*</span>　并用两条语句设置它显示表头和表格线</p>
            <p><span lang="EN-US">*/</span></p>
            <p><span lang="EN-US"></span>&nbsp;</p>
            <p>对：</p>
            <p><span lang="EN-US">/*</span></p>
            <p><span lang="EN-US">* </span>创建一个<span lang="EN-US">Tree</span>对象</p>
            <p><span lang="EN-US">*/</span></p>
            </td>
        </tr>
        <tr>
            <td valign="top" width="37">
            <p><span lang="EN-US"></span>&nbsp;</p>
            </td>
            <td valign="top" width="174">
            <p><span lang="EN-US">P346</span>倒数第<span lang="EN-US">14</span>行</p>
            </td>
            <td valign="top" width="372">
            <p>错：<span lang="EN-US">addLogonListener </span></p>
            <p>对：<span lang="EN-US">addLogoffListener</span></p>
            </td>
        </tr>
        <tr>
            <td valign="top" width="37">
            <p><span lang="EN-US"></span>&nbsp;</p>
            </td>
            <td valign="top" width="174">
            <p>第<span lang="EN-US">448</span>页倒数第五行错了。</p>
            </td>
            <td valign="top" width="372">
            <p>错：</p>
            <p><span lang="EN-US">property</span>是关键的属性，它必须对应于<span lang="EN-US">LogonAction</span>类中的一个字段。</p>
            <p>对：</p>
            <p><span lang="EN-US">property</span>是关键的属性，它必须对应于<span lang="EN-US">UserForm</span>类<span lang="EN-US">(ActionForm)</span>的一个字段</p>
            </td>
        </tr>
    </tbody>
</table>
</span>
</p>
</div>
</div>
<h3>&nbsp;</h3>
<div>
<h3>Feedback</h3>
<div class="post">
<div class="posthead">
<h2>
<a title="permalink: re: 《eclipse从入门到精通》勘误表" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#319408">#</a>&nbsp;<a name="319408"></a>
2006-01-18 09:35 by <a id="Comments1_CommentList_ctl00_NameLink" href="http://glchengang.cnblogs.com/" target="_blank">陈刚</a></h2>
</div>
<div class="postbody">P449 第10行 <br />
错：&#8220;和第24章的logon.js&#8221; <br />
对：&#8220;和第24章的logon.jsp&#8221;</div>
</div>
<div class="post">
<div class="posthead">
<h2>
<a title="permalink: re: 《eclipse从入门到精通》勘误表" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#319411">#</a>&nbsp;<a name="319411"></a>re: 《Eclipse从入门到精通》勘误表&nbsp;&nbsp;<a onclick="'return"  setreplyauhor(="" 陈刚="" )="" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#post">回复</a><a id="Comments1_CommentList_ctl01_DeleteLink" onclick="'return"  confirm(="" are="" sure="" you="" want="" to="" delete="" comment=""  319411?="" );="" href="javascript:__doPostBack('Comments1$CommentList$ctl01$DeleteLink','')">删除评论</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl01_EditLink" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html?CommentID=319411#Post">修改评论</a></h2>
2006-01-18 09:37 by <a id="Comments1_CommentList_ctl01_NameLink" href="http://glchengang.cnblogs.com/" target="_blank">陈刚</a></div>
<div class="postbody">P458　第10行 <br />
错：&#8220;在Action程序中使用动态ActionFormt&#8221; <br />
对：&#8220;在Action程序中使用动态ActionForm&#8221; <br />
</div>
</div>
<div class="post">
<div class="posthead">
<h2>
<a title="permalink: re: 《eclipse从入门到精通》勘误表" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#319415">#</a>&nbsp;<a name="319415"></a>re: 《Eclipse从入门到精通》勘误表&nbsp;&nbsp;<a onclick="'return"  setreplyauhor(="" 陈刚="" )="" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#post">回复</a><a id="Comments1_CommentList_ctl02_DeleteLink" onclick="'return"  confirm(="" are="" sure="" you="" want="" to="" delete="" comment=""  319415?="" );="" href="javascript:__doPostBack('Comments1$CommentList$ctl02$DeleteLink','')">删除评论</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl02_EditLink" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html?CommentID=319415#Post">修改评论</a></h2>
2006-01-18 09:40 by <a id="Comments1_CommentList_ctl02_NameLink" href="http://glchengang.cnblogs.com/" target="_blank">陈刚</a></div>
<div class="postbody">P468　倒数第19－22行，有两行重复。删除重复的倒数第19、20行</div>
</div>
<div class="post">
<div class="posthead">
<h2>
<a title="permalink: re: 《eclipse从入门到精通》勘误表" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#340786">#</a>&nbsp;<a name="340786"></a>re: 《Eclipse从入门到精通》勘误表&nbsp;&nbsp;<a onclick="'return"  setreplyauhor(="" jetgeng=""  )="" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#post">回复</a><a id="Comments1_CommentList_ctl03_DeleteLink" onclick="'return"  confirm(="" are="" sure="" you="" want="" to="" delete="" comment=""  340786?="" );="" href="javascript:__doPostBack('Comments1$CommentList$ctl03$DeleteLink','')">删除评论</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl03_EditLink"></a></h2>
2006-03-02 07:21 by <a id="Comments1_CommentList_ctl03_NameLink" target="_blank">JetGeng</a></div>
<div class="postbody">P332 最后一句： <br />
IFolderLayout button = layout.createFolder("button",IPageLayout.BOTTOM, 0.8f, editorArea); <br />
<br />
应该是 <br />
IFolderLayout button = layout.createFolder("button",IPageLayout.BOTTOM, 0.8f, "left"); <br />
</div>
</div>
<div class="post">
<div class="posthead">
<h2>
<a title="permalink: re: 《eclipse从入门到精通》勘误表" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#368791">#</a>&nbsp;<a name="368791"></a>re: 《Eclipse从入门到精通》勘误表&nbsp;&nbsp;<a onclick="'return"  setreplyauhor(="" 迟江="" )="" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#post">回复</a><a id="Comments1_CommentList_ctl04_DeleteLink" onclick="'return"  confirm(="" are="" sure="" you="" want="" to="" delete="" comment=""  368791?="" );="" href="javascript:__doPostBack('Comments1$CommentList$ctl04$DeleteLink','')">删除评论</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl04_EditLink"></a></h2>
2006-04-06 23:06 by <a id="Comments1_CommentList_ctl04_NameLink" href="http://jiangchister@gmail.com/" target="_blank">迟江</a></div>
<div class="postbody">p431第二行 <br />
type="javax.sql.DataSourcer"/&gt; <br />
<br />
应为 <br />
type="javax.sql.DataSource"/&gt; <br />
<br />
</div>
</div>
<div class="post">
<div class="posthead">
<h2>
<a title="permalink: re: 《eclipse从入门到精通》勘误表" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#375778">#</a>&nbsp;<a name="375778"></a>re: 《Eclipse从入门到精通》勘误表&nbsp;&nbsp;<a onclick="'return"  setreplyauhor(="" 陈刚="" )="" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#post">回复</a><a id="Comments1_CommentList_ctl05_DeleteLink" onclick="'return"  confirm(="" are="" sure="" you="" want="" to="" delete="" comment=""  375778?="" );="" href="javascript:__doPostBack('Comments1$CommentList$ctl05$DeleteLink','')">删除评论</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl05_EditLink" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html?CommentID=375778#Post">修改评论</a></h2>
2006-04-15 10:21 by <a id="Comments1_CommentList_ctl05_NameLink" href="http://glchengang.cnblogs.com/" target="_blank">陈刚</a></div>
<div class="postbody">感谢陈勇(chenyong301@***.com)的指出错误 <br />
<br />
错误：P231 的IEditorInput没有getEditorID()方法] <br />
<br />
解决方法一： <br />
（1）加一IEditorInput的子接口MyEditorInput，在该子接口加一个getEditorID()方法。然后将本书的所有EditorInput由implements IEditorInput改为"implements MyEditorInput"。 <br />
<br />
（2）最后在使用的时候这样 <br />
String key=""+list.getSelectionIndex(); <br />
MyEditorInput editorInput=(MyEditorInput)list.getData(key); <br />
String editID=editorInput.getEditorID(); <br />
<br />
<br />
解决方法二： <br />
利用IEditorInput中显得多余的getName，把ID放到里面，最后用下面语句得到edtorID－－－String editID=editorInput.getName(); <br />
<br />
<br />
<br />
</div>
</div>
<div class="post">
<div class="posthead">
<h2>
<a title="permalink: re: 《eclipse从入门到精通》勘误表" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#375787">#</a>&nbsp;<a name="375787"></a>re: 《Eclipse从入门到精通》勘误表<a name="Post"></a>&nbsp;&nbsp;<a onclick="'return"  setreplyauhor(="" 陈刚="" )="" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html#post">回复</a><a id="Comments1_CommentList_ctl06_DeleteLink" onclick="'return"  confirm(="" are="" sure="" you="" want="" to="" delete="" comment=""  375787?="" );="" href="javascript:__doPostBack('Comments1$CommentList$ctl06$DeleteLink','')">删除评论</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl06_EditLink" href="http://glchengang.cnblogs.com/archive/2005/06/19/177204.html?CommentID=375787#Post">修改评论</a></h2>
2006-04-15 10:30 by <a id="Comments1_CommentList_ctl06_NameLink" href="http://glchengang.cnblogs.com/" target="_blank">陈刚</a></div>
<div class="postbody">感谢陈勇(chenyong301@***.com)的指出错误. <br />
<br />
错误：P173页，在无子结点（如书中的&#8220;桂林&#8221;）下增加一个子结点时，无法展开。 <br />
<br />
错误分析：没有把数据加入到数据模型而导致的，当时只追求完成界面效果又没有做详尽的测试而导致这个BUG。在实践编程中，必须将数据加入到setInput的数据模型中，然后再refresh或add到界面。删除结点也同样应该从数据模型中删除。 <br />
<br />
解决方案（分三步）： <br />
（1）把最后三行 <br />
if (!tv.getExpandedState(obj)) <br />
tv.expandToLevel(obj, 1); <br />
tv.add(obj, newEntry);//增加结点 <br />
<br />
改为如下（加一行，并换一下顺序） <br />
((ITreeEntry) obj).getChildren().add(newEntry); <br />
tv.add(obj, newEntry);//增加结点或者tv.refresh(obj, true); <br />
if (!tv.getExpandedState(obj)) <br />
tv.expandToLevel(obj, 1); <br />
<br />
（2） CountryEntity <br />
private List cities;　改为　private List cities = new ArrayList(); <br />
<br />
（3）CityEntity <br />
private List peoples;　改为　private List peoples = new ArrayList(); <br />
<br />
说明：第2、3步改动，是为了防止第1步程序中的((ITreeEntry) obj).getChildren()返回null，从而导致null.add(newEntry);这样的错误。 <br />
<br />
<br />
</div>
</div>
</div><img src ="http://www.blogjava.net/chengang/aggbug/42867.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-04-24 18:26 <a href="http://www.blogjava.net/chengang/archive/2006/04/24/42867.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员杂志上的书评</title><link>http://www.blogjava.net/chengang/archive/2006/03/20/36402.html</link><dc:creator>陈刚</dc:creator><author>陈刚</author><pubDate>Mon, 20 Mar 2006 10:41:00 GMT</pubDate><guid>http://www.blogjava.net/chengang/archive/2006/03/20/36402.html</guid><wfw:comment>http://www.blogjava.net/chengang/comments/36402.html</wfw:comment><comments>http://www.blogjava.net/chengang/archive/2006/03/20/36402.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/chengang/comments/commentRss/36402.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chengang/services/trackbacks/36402.html</trackback:ping><description><![CDATA[
		<div>王婆卖瓜自卖自夸，呵呵，不过自夸的地方不多，更多的是写一些对近来技术发展的看法<br />-----------------------------------------------<br /><br />　　想起国内JAVA开发界两年多前，那时还是JBuilder的天下，Eclipse还很阳春白雪。如今，Eclipse已经进入高速期发展，而当年的霸主JBuilder却开始衰退，Borland公司被迫卖掉了产品线，转向利润更高的服务业。IT界向来是以十倍速在变化着发展着，Eclipse的前进速度同样惊人。写书的时候Eclipse还半紫不红，现在却已经光芒万丈了，使用者众多，连那个月蚀的logo都跟以前微微不同了。Eclipse的插件工具的数量增长很快，对于WEB开发比较重量级的有WTP，各种开源项目（如Struts、Tomca、Hibernate等）都有相应的Eclipse插件工具来辅助开发。</div>
		<div> </div>
		<div>　　平台开发方面，Eclispe的RCP开始突显，国内一些大公司已经在应用。在《Eclipse从入门到精通》(后面简称《E书》)中讲插件开发时曾提到：对于开发应用类软件的插件，开发者一般都不希望客户能从软件看到任何Eclipse的影子，所以希望能屏蔽掉Eclipse原有的菜单和工具栏。但在RCP出现之前，这样的需求是无法实现的。RCP全称Rich Client Platform（胖客户端平台），它实际上是将Eclipse的插件机制完全的剥离出来，而形成的一个独立的平台。在这样的平台上来开发，既拥有了插件开发的优点，又具有了完全定制的特性。在笔者的实战体验后认为，这种基于插件平台的开发方式，将会是JAVA桌面应用开发的一次革命。</div>
		<div> </div>
		<div>　　在5年内，JAVA的开发方面将向哪里发展呢？很多人都各自有不同的预测。我认为在构架方面，SOA（面向服务的开发）将成为主流。而界面开发方面将会把注意力再次集中到界面的友好性上面（现在AJAX大热即是这趋势的体现），并将形成三足鼎立的局面：Flash的flex、微软的XAML、Eclipse的RCP。前两种是脚本＋解释器的新方式，也俗称第三代WEB技术。这里没有提到XUL，是因为XUL被绑定在Firefox浏览器上，它必然会被后来者XAML替代，谁叫微软的IE浏览器占领着大部份市场呢。RCP则是传统胖客端方式的回归和升华，借助于SUN很久就有的Java Web Start技术，它一样可以实现WEB方式无需现场安装维护的优点。</div>
		<div> </div>
		<div>　　Eclispe的发展是令人欣喜的，每一次重印《E书》时，我都想加入一些新内容进去。但书的再版不可能这么频繁，所以最后只能在不影响版面的情况下做一些小修改，在后面附加一些和读者的往来Email。不过《E书》依然有着很强的生命力，书中的知识并不陈旧，因为Eclipse的发展是渐近式的累积式的，所以书中的内容仍是必学的基础（谁会只学J2EE，而不学最基本的J2SE呢）。比如，SWT是Eclipse桌面开发的基础；JFace是在SWT之上编写的；插件开发需要大量用到SWT/JFace；RCP则基于插件开发的再提升。新内容的添加只能寄希望在本书的下一版了，希望那一天早点到来。</div>
		<div> </div>
		<div>　　从2005年6月始，《E书》已经出版快一年了，其间重印了三次，读者评价也很不错。看到自己的劳动能得到了读者的肯定和厚爱，心里很高兴，并在此表示衷心的感谢。为了读者更快的追踪新技术的发展，及为下一版做准备，笔者将开始在<a href="http://www.ChenGang.com.cn">www.ChenGang.com.cn</a>发表RCP的一系列文章，希望读者到时能多提宝贵意见。</div>
		<div> </div>
		<div>                                                                           2006-3-20　陈刚　于北京稻香园<br /></div>
<img src ="http://www.blogjava.net/chengang/aggbug/36402.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chengang/" target="_blank">陈刚</a> 2006-03-20 18:41 <a href="http://www.blogjava.net/chengang/archive/2006/03/20/36402.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>