﻿<?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>Fri, 14 Mar 2008 17:18:28 GMT</lastBuildDate><pubDate>Fri, 14 Mar 2008 17:18:28 GMT</pubDate><ttl>60</ttl><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>5</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>110</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[我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;">独立的“RCP开发篇”</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 />目    录<br />第1篇  起步篇<br />第1章  Eclipse简介    263<br />1.1  Eclipse的历史    263<br />1.2  Eclipse的体系结构    263<br />1.3  优秀的图形API：SWT/JFace    264<br />1.4  开放式可扩展的IDE    265<br />1.5　桌面应用程序的开发平台    266<br />1.6  全中文化的帮助文件    266<br />1.7  Eclipse是开放源代码的免费软件    267<br />第2章  安装Eclipse及其插件    268<br />2.1  安装JDK    268<br />2.1.1  下载JDK    268<br />2.1.2  安装JDK    268<br />2.1.3  检查安装是否正确    269<br />2.2  安装Eclipse    269<br />2.3  安装Eclipse多国语言包    271<br />2.3.1  安装方法    271<br />2.3.2  注意事项    272<br />2.4　复制式插件安装法（安装XMLBuddy）    273<br />2.5　URL式插件安装法（安装Log4E）    274<br />第3章  Eclipse的集成开发环境    276<br />3.1  Eclipse界面简介    276<br />3.2  创建Java项目和类，并运行    277<br />3.2.1　创建Java项目    278<br />3.2.2　创建类    279<br />3.2.3　运行    280<br />3.3　项目的属性    281<br />3.3.1  项目属性窗简介    281<br />3.3.2  项目的构建路径    281<br />3.4  代码模板与式样    284<br />3.4.1　代码模板    284<br />3.4.2  自定义注释    285<br />3.4.3  代码格式化    286<br />3.5　代码编写    288<br />3.5.1  重构    288<br />3.5.2  代码的自动生成    288<br />3.5.3　打开断言    290<br />3.5.4　类型过滤    291<br />3.6  代码阅读    292<br />3.6.1　搜索    292<br />3.6.2　打开类型    293<br />3.6.3  打开类型层次结构    294<br />3.6.4  查看JDK源代码    294<br />3.6.5  查看Eclipse的源代码    295<br />3.7  任务标记    297<br />3.7.1  任务标记的设定    297<br />3.7.2  过滤任务标记    298<br />3.8  调试器的使用    299<br />3.9  常用快捷键    301<br />第4章  Eclipse中CVS的使用    302<br />4.1  CVS简介    302<br />4.2  CVS服务器端的安装与配置    302<br />4.2.1  安装CVSNT    302<br />4.2.2  创建CVS资源库    303<br />4.2.3  为Windows用户设置访问CVS资源库的密码    303<br />4.3  CVS客户端的配置    304<br />4.3.1  配置Eclipse连接CVS服务器    304<br />4.3.2  将项目共享到CVS服务器    305<br />4.3.3  导入CVS服务器上的项目    306<br />4.4  文件的落实与更新    307<br />4.4.1  CVS和VSS的不同之处    307<br />4.4.2  文件的落实和更新    307<br />4.4.3  解决文件冲突    308<br />4.4.4  如何让CVS忽略掉某些文件    309<br />4.5  标记版本    310<br />4.5.1　为项目在CVS上标记一个版本    310<br />4.5.2  将项目还原为某版本    310<br />4.7  修正旧版本的BUG    311<br />4.7.1  把1.0版代码导入到一个新项目    311<br />4.7.2  基于1.0版代码创建一个分支    311<br />4.7.3  修改代码解决BUG    312<br />第5章  Eclipse中JUnit的使用    313<br />5.1　一个TDD开发实例    313<br />5.2　JUnit的标准项目结构    316<br />第2篇  SWT/JFace篇<br />第6章  SWT起步    319<br />6.1  SWT简介    319<br />6.2  SWT中的包    320<br />6.3  SWT的HelloWorld    321<br />6.3.1  创建插件项目    321<br />6.3.2  创建HelloWorld程序    321<br />6.3.3  运行HelloWorld    322<br />6.3.4  HelloWorld更进一步    323<br />6.3.5  SWT程序的界面结构    323<br />6.4  SWT事件的写法    324<br />6.4.1  匿名内部类写法    324<br />6.4.2  命名内部类写法    325<br />6.4.3  外部类写法    325<br />6.4.4  实现监听接口的写法    326<br />6.4.5  总结    326<br />6.5  在事件代码中访问变量    326<br />6.6  常用事件监听器    328<br />6.6.1　选择事件监听器SelectionListener    328<br />6.6.2　键盘事件监听器KeyListener    329<br />6.6.3　焦点事件监听器FocusListener    329<br />6.6.4　鼠标事件监听器MouseListener    329<br />6.6.5　注销事件监听器DisposeListener    330<br />6.6.6　组件专用的事件监听器    330<br />6.6.7　通用监听器Listener    330<br />第7章  安装Visual Editor插件    331<br />7.1  下载Visual Editor    331<br />7.2  安装Visual Editor    332<br />第8章  SWT常用组件    334<br />8.1  按钮、复选框、单选框（Button类）    334<br />8.1.1  一个Button类的实例    334<br />8.1.2  Button类的式样表    335<br />8.1.3  使用事件参数SelectionEvent    336<br />8.2  组件的常用方法    337<br />8.3  标签（Label类）    339<br />8.3.1  Label类的一个实例    339<br />8.3.2  Label类的式样列表    339<br />8.4  文本框（Text类）    340<br />8.4.1  一个Text的实例    340<br />8.4.2  Text类的式样列表    341<br />8.4.3  一个编辑框的实例    341<br />8.4.4  常用方法    342<br />8.5  下拉框（Combo类）    342<br />8.5.1  一个Combo类的实例    342<br />8.5.2  Combo类的式样列表    343<br />8.5.3  常用方法    344<br />8.6  列表框（List类）    344<br />8.6.1  一个List类的实例    344<br />8.6.2  List类的式样表（如表8.5所示）    345<br />第9章  容  器  类    347<br />9.1  面板（Composite类）    347<br />9.1.1  Composite类谱系    347<br />9.1.2  Composite的用法    347<br />9.1.3  Composite的常用方法    348<br />9.2  分组框（Group类）    348<br />9.3  选项卡（TabFolder类和TabItem类）    348<br />9.4  分割窗（SashForm类）    350<br />9.5  带滚动条的面板（ScrolledComposite类）    351<br />9.6　窗口容器（Shell类）    352<br />9.6.1　Shell实例和式样    352<br />9.6.2　使窗口屏幕居中    353<br />9.6.3　两个Shell窗口的互动    353<br />9.6.4　另一种窗口（ApplicationWindow类）    354<br />第10章  布局管理器    356<br />10.1  布局管理器简介    356<br />10.2  充满式（FillLayout类）    357<br />10.3  行列式（RowLayout类）    358<br />10.3.1　使用RowLayout    358<br />10.3.2  使用RowData控制组件外观    359<br />10.4  网格式（GridLayout类）    360<br />10.4.1  使用GridLayout    360<br />10.4.5  使用GridData进行复杂布局    361<br />10.5  堆栈式（StackLayout类）    364<br />10.6  表格式（FormLayout类）    365<br />10.6.1  使用marginWidth、marginHeight设置边距    365<br />10.6.2  使用FormData    366<br />10.6.3  FormAttachment类的用法    366<br />10.7  综合布局实例    368<br />第11章  其他SWT组件    374<br />11.1  工具栏（ToolBar类、ToolItem类、ViewForm类）    374<br />11.2  动态工具栏（CoolBar类、CoolItem类）    375<br />11.3  菜单（Menu类，MenuItem类）    378<br />11.4  滑动条（Slider）、刻度条（Scale）、进度条（ProgressBar）    380<br />11.5  画布（Canvas类）    381<br />11.6  表格（Table类）    383<br />11.7  树、表格型树（Tree类）    384<br />11.8　浏览器（Browser类）    386<br />11.9　系统托盘（Tray类）    387<br />11.10　SWT组件的扩展    389<br />11.10.1　Label的扩展（CLabel类）    389<br />11.10.2　Text的扩展（StyledText类）    389<br />第12章  图像、颜色、字体    391<br />12.1　图像（Image类）    391<br />12.2  Image类的注意事项    393<br />12.2.1  自己创建的，自己销毁    394<br />12.2.2  父组件销毁，其子组件也会自动销毁    394<br />12.3  图像描述符（ImageDescriptor类）    394<br />12.3.1  createFromFile方法    395<br />12.3.2  createFromURL方法    395<br />12.3.3  ImageDescriptor总结    395<br />12.4  图像注册表（ImageRegistry类）    395<br />12.5　颜色（Color类）和字体（Font类）    396<br />第13章  SWT的线程    398<br />13.1  SWT线程简介    398<br />13.2  一个SWT线程的实例    399<br />13.3  对11.4节进度条实例的改进    404<br />13.4　状态栏里进度条    404<br />13.5　支持动画GIF的组件    408<br />第14章　表格（TableViewer类）    412<br />14.1  概    述    412<br />14.2  创建表格并显示数据    413<br />14.2.1  实例的数据模型介绍    413<br />14.2.2  创建数据表的实体类    413<br />14.2.3  数据的生成    414<br />14.2.4  在表格中显示数据    416<br />14.3  响应鼠标双击事件    419<br />14.4  给表格加上右键菜单（Action类、ActionGroup类、MenuManager类）    420<br />14.4.1  Action、ActionGroup、MenuManager介绍    420<br />14.4.2  创建Action和ActionGroup    420<br />14.4.3  在主程序中使用ActionGroup、MenuManager    421<br />14.5  表格的排序（ViewerSorter类）    422<br />14.5.1　编写排序器ViewerSorter    422<br />14.5.2　为表格列添加事件监听器    424<br />14.6  给表格加上工具栏（ToolBarManager类）    424<br />14.6.1　创建Action类并填充进工具栏    425<br />14.6.2　用ViewForm做布局调整    427<br />14.7  带复选框的表格（CheckboxTableViewer类）    428<br />14.7.1  使用表格的复选框式样    428<br />14.7.2  修改MyActionGroup类    428<br />14.8  让表格可直接编辑（CellEditor类、ICellModifier接口）    431<br />14.8.1　使用各种编辑组件CellEditor    431<br />14.8.2　创建修改器ICellModifier    432<br />14.9  其他使用技巧    434<br />14.9.1  表格记录的过滤    434<br />14.9.2  控制表格的当前选择行    434<br />14.9.3  给表格的单元格设置背景色    435<br />14.9.4  加快TableItem和记录之间的查找速度    435<br />第15章  树（TreeViewer）和列表（ListViewer）    436<br />15.1  概    述    436<br />15.2  前期准备：实例所用数据模型说明    436<br />15.2.1  建立国家实体和城市实体    436<br />15.2.2  建立树结点的接口类    437<br />15.2.3  让国家、城市、人三个实体类实现此接口    438<br />15.3  让数据在树中显示出来    438<br />15.3.1  创建树的数据结构    439<br />15.3.2  创建主程序    440<br />15.3.3  标签器（实现ILabelProvider接口）    440<br />15.3.4  内容器（实现ITreeContentProvider接口）    441<br />15.4  给树加上右键菜单，及实现菜单相应功能    443<br />15.5  不同结点显示不同菜单    447<br />15.6　表格型树    448<br />15.7　带复选框的树    449<br />15.6  列表（ListViewer类）    451<br />15.6.1  ListViewer简介    451<br />15.6.2  ListViewer的实例    452<br />15.6.3  ListViewer的常用方法    452<br />第16章  对  话  框    454<br />16.1  对话框（Dialog类）    454<br />16.1.1  对话框简介    454<br />16.1.2  信息提示框（MessageDialog类）    454<br />16.1.3  输入值对话框（InputDialog类）    456<br />16.1.4  自定义对话框（Dialog类）    457<br />16.1.5  对话框的设置与取值    459<br />16.1.6　封装对话框中的数据到一个数据类    461<br />16.1.7　保存对话框的值（IDialogSettings类）    463<br />16.1.8  带提示栏的对话框（TitleAreaDialog类）    465<br />16.2  向导式对话框（WizardDialog类）    466<br />16.2.1  向导式对话框简介    466<br />16.2.2  向导式对话框实例    466<br />16.3  进度条对话框（ProgressMonitorDialog类）    470<br />16.3.1  进度条对话框简介    470<br />16.3.2  标准的进度条对话框    471<br />16.3.3  反复显示的进度条对话框    472<br />16.3.4　封装反复显示的进度条对话框    474<br />16.3.5　用动画GIF来表示进度    476<br />16.4  其他类型对话框    477<br />16.4.1  信息提示框（MessageBox类）    477<br />16.4.2  颜色选择对话框（ColorDialog类）    478<br />16.4.3  字体选择对话框（FontDialog类）    479<br />16.4.4  打印设置对话框（PrintDialog类）    479<br />16.4.5  目录选择对话框（DirectoryDialog类）    480<br />16.4.6  文件选择对话框（FileDialog类）    480<br />第17章　Form的使用    482<br />17.1　Form概述    482<br />17.2　Form的HelloWorld    483<br />17.3　在Form中使用SWT组件    484<br />17.4　Form的新布局    485<br />17.4.1　TableWrapLayout布局    485<br />17.4.2　ColumnLayout布局    486<br />17.5　Form的专用组件    487<br />17.5.1　超链接（Hyperlink类）    487<br />17.5.2　带图像的超链接（ImageHyperlink类）    488<br />17.5.3　可伸缩面板（ExpandableComposite类）    488<br />17.5.4　可伸缩项（Section类）    489<br />17.5.5　网页效果的文本（FormText类）    490<br />17.5.6　带标题的面板（Form类）    491<br />17.5.7　带滚动条的Form面板（ScrolledForm类）    492<br />17.5.8　用面板做分隔栏（createCompositeSeparator方法）    492<br />17.5.9　堆栈式面板（ScrolledPageBook类）    493<br />第18章　高级话题    494<br />18.1　嵌入AWT/SWING组件    494<br />18.2　组件的拖拽功能(Drag and Drop)    494<br />18.3　访问ActiveX    498<br />18.3.1　在SWT中打开Word文档    498<br />18.3.2　在OLE容器里加入菜单    498<br />18.3.3　调用ActiveX控件的内部方法    499<br />18.3.4　使用Flash控件    500<br />18.4　数据绑定（JFace data binding framework）    502<br />18.4.1　准备工作    502<br />18.4.2　数据绑定的简单示例    504<br />18.4.3　使用BindSpec类定义特殊绑定    505<br />18.4.4　TableViewer的数据绑定    508<br />18.4.5　Combo绑定和联动    510<br />第3篇  插件开发篇<br />第19章  Eclipse插件开发起步    512<br />19.1  Eclipse插件开发概述    512<br />19.1.1  插件开发简介    512<br />19.1.2  Eclipse插件开发的优势和不足    512<br />19.2  创建HelloWorld插件    513<br />19.2.1　新建插件项目    513<br />19.2.2　运行插件    513<br />19.3  解读HelloWorld插件    514<br />19.3.1　Activator.java    514<br />19.3.2　SampleAction.java    515<br />19.3.3　plugin.xml    515<br />19.3.4　MANIFEST.MF    517<br />19.3.5　build.properties    518<br />19.4  修改HelloWorld插件    518<br />19.4.1　规范包名    518<br />19.4.2　修改插件信息    519<br />19.4.3　"运行"窗口    520<br />19.4.4　精简依赖插件，处理依赖错误    520<br />第20章  常用插件扩展点    522<br />20.1  加入透视图（perspectives）    522<br />20.1.1  修改plugin.xml文件，设置透视图的扩展点    522<br />20.1.2  建立透视图类    523<br />20.1.3  运行插件    523<br />20.1.4  总结    523<br />20.2  在透视图中加入视图（views）    523<br />20.2.1  修改plugin.xml文件，设置视图的扩展点    523<br />20.2.2  创建视图类    525<br />20.2.3  修改透视图类SamplePerspective    525<br />20.2.4  运行插件    526<br />20.3  在视图之间实现事件监听    526<br />20.3.1  主动式    526<br />20.3.2  监听式    528<br />20.4  给视图加下拉菜单和按钮    531<br />20.4.1  创建ActionGroup类    531<br />20.4.2  修改View1类    532<br />20.5  加入编辑器（editors）    533<br />20.5.1  修改plugin.xml文件，设置三个编辑器的扩展点    533<br />20.5.2  创建三个编辑器类    534<br />20.5.3  创建IEditorInput    535<br />20.5.4  打开编辑器    536<br />20.5.5  总结    537<br />20.6  编辑器类方法的使用说明    538<br />20.6.1  EditorPart方法的执行情况    538<br />20.6.2  各方法的作用及含义    538<br />20.6.3  一个编辑器实例    539<br />20.7  加入首选项（preferencePages）    540<br />20.7.1  修改plugin.xml文件，设置首选项的扩展点    541<br />20.7.2  建立首选项各结点对应的类    541<br />20.7.3  运行插件    544<br />20.7.4  总结    544<br />20.8  加入帮助（toc）    545<br />20.8.1  修改plugin.xml文件，设置三个帮助的扩展点    545<br />20.8.2  编写帮助目录文件toc    546<br />20.8.3  创建相应的帮助文档    547<br />20.8.4  运行插件    547<br />20.8.5  总结    548<br />20.9  上下文帮助（contexts）    548<br />20.9.1  在plugin.xml中设置扩展点    548<br />20.9.2  编写配置文件mycontexts.xml    549<br />20.9.3  创建HTML帮助文件    549<br />20.9.4  将帮助信息和界面组件关联起来    549<br />20.9.5  总结    550<br />第21章  Eclipse插件的国际化    551<br />21.1  国际化简介    551<br />21.2  为国际化创建一个插件的"段项目"    551<br />21.3  类程序的国际化    552<br />21.3.1  国际化前的准备工作    552<br />21.3.2  创建Message类    553<br />21.3.3  创建*.properties资源文件    554<br />21.3.4  修改myplugin项目的程序    556<br />21.3.5  运行插件，测试国际化    556<br />21.3.6  实践建议    557<br />21.4  plugin.xml的国际化    558<br />21.4.1  创建plugin.xml的资源文件    558<br />21.4.2  修改plugin.xml文件    558<br />21.4.3  运行插件，测试plugin.xml的国际化    558<br />21.5  其他XML文件的国际化    559<br />21.5.1  在myplugin.nl1项目创建国际化所需的目录结构    559<br />21.5.2  修改各语言的XML文档    559<br />21.6  使用"外部化字符串"向导    560<br />21.6.1  运用"外部化字符串"向导的步骤    560<br />21.6.2  向导完成后的处理    561<br />第22章  报表：用POI与Excel交互    562<br />22.1  POI的下载与安装    562<br />22.1.1　POI的下载    562<br />22.1.2　POI的安装    562<br />22.2  将数据导出成Excel的实例    564<br />22.2.1  创建一个空白的Excel文件    564<br />22.2.2  往Excel单元格中写入信息    564<br />22.2.3  中文化的问题    565<br />22.3  使 用 式 样    566<br />22.3.1  日期式样及文字对齐式样    566<br />22.3.2  边框式样    567<br />22.3.3  背景色及底纹式样    568<br />22.3.4  合并单元格    568<br />22.3.5  字体式样    569<br />22.4  更多的用法    569<br />22.4.1  设置页眉页脚    569<br />22.4.2  冻结和分割窗    570<br />22.4.3  浮动文字框及在表中画图    571<br />22.4.4  设置打印的范围    572<br />22.4.5  读取及修改Excel    572<br />第23章  项目的打包与发行    573<br />23.1  应用程序项目的打包与发行    573<br />23.1.1  简介    573<br />23.1.2  打包的具体操作步骤    573<br />23.1.3  其他得到JAR包的方式    576<br />23.1.4  用Fat Jar插件打包项目    577<br />23.1.5  让用户不必另外安装JRE环境    578<br />23.1.6  创建EXE执行文件及美化图标    578<br />23.1.7  打包的其他说明    579<br />23.2  插件项目的打包与发行    580<br />23.2.1  简介    580<br />23.2.2  插件打包的具体操作步骤    580<br />23.2.3  测试打包效果    581<br />23.3  用Ant来打包    581<br />23.3.1　检查环境变量    582<br />23.3.2　准备Ant脚本所需文件    582<br />23.3.3　创建Ant脚本    582<br />23.3.4　解读Ant脚本    584<br />23.3.5　运行Ant脚本    587<br />第4篇  RCP开发篇<br />第24章  RCP平台开发起步    588<br />24.1  创建RCP项目（V001）    588<br />24.2  解读RCP项目    589<br />24.2.1  plugin.xml：设置扩展点    590<br />24.2.2  Application类：入口类    590<br />24.2.3  ApplicationWorkbenchAdvisor类：确定透视图    591<br />24.2.4  ApplicationWorkbenchWindowAdvisor类：工作台窗口    591<br />24.2.5  ApplicationActionBarAdvisor类：窗口元素    592<br />24.3　主菜单、工具栏、状态栏（V002）    593<br />24.3.1  打开主菜单、工具栏、状态栏    593<br />24.3.2  添加多个Action    593<br />24.3.3  修改Activator类    595<br />24.4　全局快捷键（V003）    595<br />24.5　重构和项目调整    596<br />24.3.1  重构（V004）    596<br />24.3.2  项目调整（V005）    597<br />第25章  建立MySQL数据库环境（V006）    598<br />25.1　下载MySQL等软件包    598<br />25.1.1　下载MySQL    598<br />25.1.2　下载JDBC连接包    598<br />25.1.3　下载GUI Tools    599<br />25.2  安装MySQL    599<br />25.3　RCP程序连接数据库    601<br />25.3.1　安装JDBC连接包    601<br />25.3.2  建库和建表    602<br />25.3.3  插入数据和查询数据    604<br />25.4  解决Java的中文问题    605<br />25.4.1　字符集简介    606<br />25.4.2　SMS项目的字符集配置方案    607<br />第26章  需求分析及数据模型（V007）    609<br />26.1  软件开发过程    609<br />26.2  界面原型    610<br />26.3  面向对象的分析与设计    612<br />26.3.1  用户对象：学生、老师    613<br />26.3.2  课程（Course）、班级（SchoolClass）、年级（Grade）对象    615<br />26.3.3  学生成绩（StudentScore）、考试（Exam）对象    617<br />26.3.4  总结    618<br />26.4  创建数据表    618<br />26.4.1  创建表的方式方法    619<br />26.4.2  创建表的SQL语句    620<br />26.4.3  在MySQL Query Browser中运行SQL脚本    622<br />26.5  给数据表插入数据    622<br />第27章  创建主界面框架    625<br />27.1  创建主功能视图（V008）    625<br />27.2  创建功能导航器中的树（V009）    627<br />27.3  创建项目的图像注册表（V010）    630<br />第28章  用户登录与退出    634<br />28.1  实现方案    634<br />28.2  界面部分的源代码（V011）    635<br />28.3  数据库部分的源代码（V011）    640<br />28.4  让软件适应多种数据库（V012）    645<br />28.4.1  解决方案    645<br />28.4.2  具体实现的源代码    646<br />第29章  "档案管理"编辑器的实现    648<br />29.1  前　言    648<br />29.2  实现编辑器及排序、翻页功能（V013）    648<br />29.3  实现删除用户功能（V014）    660<br />29.4  实现新增用户的向导对话框（V015）    661<br />29.5  实现修改用户的功能（V016）    674<br />29.6　让编辑器实现登录退出监听（V017）    679<br />第30章  "搜索视图"的实现（V018）    682<br />30.1  前　言    682<br />30.2  单击结点打开视图    682<br />30.3  实现搜索视图SearchView    683<br />30.4  实现"成绩管理"编辑器    687<br />第31章  让软件更友好    692<br />31.1　首选项的实现（V019）    692<br />31.1.1  在RCP项目中显示首选项窗口    692<br />31.1.2  首选项的源代码    693<br />31.1.3  将程序中的设置值改成取之于首选项的设置    697<br />31.1.4  运行    698<br />31.2  进度条的实现（V020）    698<br />31.2.1  为演示实例做准备    698<br />31.2.2  基本实例    698<br />31.2.3  定时执行任务和Job监听器    699<br />31.2.4  IProgressService类的使用    700<br />31.3　状态栏的使用（V021）    701<br />31.4  使用控制台视图    702<br />31.4.1  程序直接调用方式（V022）    702<br />31.4.2　控制台的扩展点（V023）    703<br />第32章  RCP项目的打包与发行（V024）    706<br />32.1　使用product文件配置和导出项目    706<br />32.1.1  创建product文件    706<br />32.1.2  修改product文件的"概述" 页    707<br />32.1.3  修改product文件的"启动程序"页    708<br />32.1.4  修改product文件的"标记"页    708<br />32.1.5  弧型Tab、进度条等效果    709<br />32.1.6  导出SMS项目    710<br />32.2　处理RCP项目的运行错误    711<br />32.3　在Java Web Start中使用RCP    713<br />32.3.1  WebRCP简介    713<br />32.3.2  在WebRCP中安装SMS项目的操作步骤    713<br />32.3.3  运行，查看WebRCP效果    715<br />32.4　Java Web Start的证书    715<br />32.4.1  生成证书    715<br />32.4.2  用证书为webrcp.jar文件进行数字签名    716<br />32.4.3  替换证书后的效果    716<br />第33章　让软件具有更好的扩展性    718<br />33.1　将软件模块插件化的思路    718<br />33.2　把插件安装到RCP项目    719<br />33.3　插件之间的互相依赖    719<br />33.4　多个插件共享jar包    720<br />33.5　自定义扩展点（V025）    720<br />33.5.1  增加一个自定义扩展点    721<br />33.5.2  使用自定义扩展点    721<br />33.5.3  创建扩展点定义的类PluginNavigatorEntry    721<br />33.5.4  读取扩展点定义的信息    722<br />33.5.5  总结    723<br />33.5.6  创建扩展点的schema文件    723<br />第5篇  Web开发篇<br />第34章  Web环境的搭建（V001）    725<br />34.1  概述    725<br />34.2  Tomcat的下载与安装    725<br />34.2.1  下载Tomcat    726<br />34.2.2  安装Tomcat    726<br />34.2.3  确认Tomcat安装成功    727<br />34.3  Lomboz的下载与安装    728<br />34.3.1  下载Lomboz    728<br />34.3.2  安装Lomboz    728<br />34.3.3  Lomboz的环境设置    729<br />34.3.4  使用Lomboz应注意的问题    730<br />34.5  JSP的HelloWorld    730<br />34.5.1  创建一个Web项目    730<br />34.5.2　创建一个JSP文件    732<br />34.5.3　web.xml错误的解决    732<br />34.5.4  在Lomboz中启动Tomcat    733<br />34.5.5  一些相关问题    735<br />34.6  配置Tomcat的数据库连接池    735<br />34.6.1  复制JDBC连接包    735<br />34.6.2  安装Tomcat的管理模块并配置    735<br />34.6.3  修改Tomcat的context.xml文件    736<br />34.6.5  测试数据库连接池    736<br />第35章  一个纯JSP+JavaBean实例（V002）    739<br />35.1  创建JavaBean    739<br />35.1.1  修改AbstractDbOperate类    739<br />35.1.2  修改数据库连接管理器ConnectManager类    740<br />35.1.3  在Constants类中增加一个字符串常量    740<br />35.1.4  修改工厂类SmsFactory    741<br />35.2  编写JSP文件    741<br />35.2.1  实例的流程及效果    741<br />35.2.2  JSP文件说明    742<br />35.2.3  JSP文件的源代码    742<br />35.2.4　使用JSP应注意的问题    745<br />第36章  在Eclipse中使用Struts    747<br />36.1  Struts的下载及安装    747<br />36.1.1  下载    747<br />36.1.2  安装    748<br />36.2  Struts入门实例（V003）    749<br />36.2.1  Struts原理简介    749<br />36.2.2  用户登录实例    751<br />36.3  让Dreamweaver支持Struts标签    757<br />36.3.1  下载与安装支持Struts标签的插件    757<br />36.3.2  将Struts标签添加到Dreamweaver中    758<br />36.3.3  插件的效果    758<br />36.4  深入struts-config.xml    759<br />36.4.1  页面转发    759<br />36.4.2  &lt;form-beans&gt;项之动态ActionForm    760<br />36.4.3  &lt;action-mappings&gt;项    760<br />36.4.4  使用DispatchAction类    761<br />36.4.5  使用多个struts-config.xml配置文件    762<br />36.4.6  解决命名冲突    762<br />36.5  验证的多种方法    763<br />36.5.1  方法一    763<br />36.5.2  方法二（V004）    764<br />36.6  使用更多的Struts标签    770<br />36.6.1  获知更多的标签    770<br />36.6.2  表单类标签    771<br />36.6.3  其他说明    773<br />第37章  在Eclipse中使用Hibernate    774<br />37.1  概    述    774<br />37.1.1  持久化框架产生的背景和现状    774<br />37.1.2  Hibernate简介    775<br />37.1.3  本章说明    775<br />37.2  Hibernate的下载和安装    776<br />37.2.1  下载    776<br />37.2.2  安装    777<br />37.3  一个简单的Hibernate实例（V005）    777<br />37.3.1  创建Hibernate配置文件：hibernate.cfg.xml    777<br />37.3.2  创建XML映射文件：model.hbm.xml    778<br />37.3.3  创建HibernateUtil类    779<br />37.3.4  创建GradeManager类    780<br />37.3.5  创建hibernateTest.jsp    781<br />37.3.6  总结及实践建议    782<br />37.4  继续深入使用Hibernate（V006）    782<br />37.4.1  修改XML映射文件    783<br />37.4.2  数据库操作类的实现    786<br />37.4.3  修改使用DbOperate类的程序    788<br />37.5  实现用户的修改、删除功能（V007）    790<br />37.5.1  界面效果及功能说明    790<br />37.5.2  在DbOperate类增加方法    790<br />37.5.3  在用户列表userList.jsp文件增加两个超链接    791<br />37.5.4  在Struts配置文件struts-config.xml中增加一个action定义    792<br />37.5.5  修改UserForm类    792<br />37.5.6  创建UserAction类    793<br />37.5.7  创建modifyUser.jsp    795<br />37.6  解决Tomcat的中文问题（V008）    796<br />37.7  Web的打包发行    796<br />37.8  Hibernate的自动生成工具    797<br />37.8.1  由XML映射文件生成数据库表（V009）    797<br />37.8.2  使用Hibernate Tools    798<br /><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>0</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>9</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从入门到精通》 &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>0</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从入门到精通》附录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>0</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从入门到精通》中软件的下载地址（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>82</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[
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
				<br />
		</p>
		<p>
				<br />
		</p>
		<p align="center">
				<br />
		</p>
		<div align="left">下载地址(包括第一版和第二版的软件)：<a href="http://glchengang.gbaopan.com/"> http://glchengang.gbaopan.com/</a></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>198</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[------------------------------------------------------------------------------------------------------------------------<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><span>书中页码</span></p>
            </td>
            <td valign="top" width="174">
            <p><span>错误位置</span></p>
            </td>
            <td valign="top" width="372">
            <p><span>修改后的文字</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>第</span><span lang="EN-US">27</span><span>页</span><span>&#8220;图</span><span lang="EN-US">4.26</span><span>&#8221;</span><span>下</span><span lang="EN-US">10</span><span>行</span></p>
            </td>
            <td valign="top" width="372">
            <p><span>错：空缺了步骤（</span><span lang="EN-US">3</span><span>）</span></p>
            <p><span>对：将步骤的编号依次上移一位</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>第</span><span lang="EN-US">116</span><span>页倒数</span><span lang="EN-US">6</span><span>－</span><span lang="EN-US">9</span><span>行</span></p>
            </td>
            <td valign="top" width="372">
            <p><span>错：</span></p>
            <p><span lang="EN-US">/*</span></p>
            <p><span lang="EN-US">* </span><span>创建一个</span><span lang="EN-US">Table</span><span>对象，在式样里设置它可多选，全列选择。</span></p>
            <p><span lang="EN-US">*</span><span>　并用两条语句设置它显示表头和表格线</span></p>
            <p><span lang="EN-US">*/</span></p>
            <p><span lang="EN-US"></span>&nbsp;</p>
            <p><span>对：</span></p>
            <p><span lang="EN-US">/*</span></p>
            <p><span lang="EN-US">* </span><span>创建一个</span><span lang="EN-US">Tree</span><span>对象</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>倒数第</span><span lang="EN-US">14</span><span>行</span></p>
            </td>
            <td valign="top" width="372">
            <p><span>错：</span><span lang="EN-US">addLogonListener </span></p>
            <p><span>对：</span><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>第</span><span lang="EN-US">448</span><span>页倒数第五行错了。</span></p>
            </td>
            <td valign="top" width="372">
            <p><span>错：</span></p>
            <p><span lang="EN-US">property</span><span>是关键的属性，它必须对应于</span><span lang="EN-US">LogonAction</span><span>类中的一个字段。</span></p>
            <p><span>对：</span></p>
            <p><span lang="EN-US">property</span><span>是关键的属性，它必须对应于</span><span lang="EN-US">UserForm</span><span>类</span><span lang="EN-US">(ActionForm)</span><span>的一个字段</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>