子在川上曰

  逝者如斯夫不舍昼夜
随笔 - 71, 文章 - 0, 评论 - 915, 引用 - 0
数据加载中……

《Eclipse从入门到精通》第二版已面市

@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 我7月18日收到了出版社寄来的样书,纸张比第一版要好了很多,厚度比第一张增加了足足四分一。

  • 这本书针对的是Eclipse3.2.1版,书中所用到的所有软件包都是在2006年12月所能得到的最新版,如JDK用的是1.5.0。
  • 文字表述都做了重新组织,尽量更通顺更易读。书中的图片大都重新截图。
  • 代码在不影响美观的情况下采用紧缩式排版,能写成一行的,绝不分做两行,尽量压缩水份。
  • 废弃了SWT Desiger,改用开源的VE
  • 新版SWT有些变化,一些类和方法不再支持,所以书中例子代码也都对新API做了更新。
  • 加入了一些新技术,比如JFace Data Binding,还介绍了拖拽(Drog and Drop)、Form表单API的使用。
  • 本书最大的变化是把插件实践一篇的SMS项目,用RCP框架来重新实现,成为独立的“RCP开发篇”,篇中还详细讨论了如何用Java Web Start和WebRCP来布署RCP应用。
  • 新版Lomboz的变化也是很大的,使用和过去完全不同。
  • Hibernate已废弃了它的扩展工具包,而做成了一个Eclipse插件叫Hibernate Tools,本书对此插件也做了使用介绍。
  • 光盘中的视频操作全部重新录制,改成FLASH格式。
  • 光盘包含将书中所用软件,但由于光盘容量所限,JDK和MySQL等几个软件包没有被加入进来,读者只能从网站上自行下载了。

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


posted on 2007-04-05 11:42 陈刚 阅读(16060) 评论(120)  编辑  收藏 所属分类: Eclipse从入门到精通

评论共2页: 1 2 下一页 

评论

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

我通过我们这里最大的计算机书籍书店帮我去订购这本书了,不知道能否到手。望眼欲穿中........
2007-05-20 08:24 | kyo

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

第二版还没有面市,应该很快了。
2007-05-22 11:34 | 陈刚

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

早不知道您要出第二版了,要不……,哎!……
月初刚在书店里买了您的第一版,这次上网来找相关软件,才知道您的第二版就要出了!|

陈老师,您的第二版的样稿能不能发一份给我? 也好让我节省一部份投资啊!!!仅“Web开发篇”也行!谢谢您,陈老师!
我的邮箱是:frj600@163.com

此致
敬礼
2007-05-22 17:50 | frj600

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

陈老师您好,我们在做即时通信的时候,遇到了一个很棘手的问题想向您请教一下.
我们在实现传输文件这个功能时,不知道怎么样怎么样才能在styledText里面加个超链接,希望老师能给我们指点下迷津!
谢谢!
2007-05-28 16:58 |

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

现在都快6月了,第二版什么时候发行呢?
2007-05-29 10:00 | 流浪人

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

我以前读过你的第一版书,能让人特快就能上手写程序,由其SWT那部分,但是我现在写的SWT程序想换皮肤,请问一下有没有什么好的方法,这部分在你的书里好像一直没有介绍。
2007-06-07 16:52 | 读者。。。。

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

<<Eclipse从入门到精通>>第二版什么时候发行? 很期待!
2007-06-12 22:41 |

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

陈老师 书在六月份能出版吗
2007-06-13 16:51 |

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

六月份应该没问题的,书稿交上去都过了四个月了,写书都不用这么久 :-)
SWT换肤没做过,以后有机会再研究一下。
2007-06-14 09:34 | 陈刚

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

陈老师您好,我想问您个问题,我想知道怎么让tableviewer以及其他组件怎么响应键盘时间.
老师您可以发个例子给我看看吗?先谢谢了.呵呵~
我的email:edision2000@163.com
2007-06-14 13:13 | 胡俊

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

谢谢 陈老师 其实很期待这本书
2007-06-14 21:45 |

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市[未登录]  回复  更多评论   

陈老师的书确实不错,呵呵,前一段时间是看的电子版(第一版),第二版出来了,一定要买一本:),我是跟着陈老师的书入门的,谢谢您
2007-06-14 23:01 | chris

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

什么叫响应键盘时间??
2007-06-18 08:51 | 陈刚

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

究竟什么时候上市呢?我都等了1个月了。该不会是6月30号吧?
2007-06-18 17:32 | robbie

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计5月或6月面市  回复  更多评论   

我是java初学者,在网上下到你第一版的《Eclipse从入门到精通》,感觉非常不错...

看到第二版说是5月或着6月出,现在都6月25日了,不知道可不可以从你这里买呢??? 如何联系???

我的联系 QQ: 65353606
Email: happyv511@sina.com
2007-06-25 14:54 | 李志亮

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计6月初  回复  更多评论   

这本书现在出版了吗?
2007-07-02 19:27 | win

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计6月初  回复  更多评论   

请问这都7月了,这本书到底什么时候能出啊...晕死了.....
2007-07-11 09:48 | Heber

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计6月初  回复  更多评论   

刚买的第一版,还没怎么看呢,就看到要出第二版的消息了,这可怎么办哦~
2007-07-12 08:49 | hanson

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计6月初  回复  更多评论   

出版社可能考虑到这种旧版还没销完的情况,所以一直不肯出新版,等第二版上市又过新,第三版又出来了。苦的是我们读者永远拿不到最新的东西,一直落后于人。
2007-07-12 16:42 | win

# re: [公告]《Eclipse从入门到精通》第二版脱稿(附目录),预计6月初  回复  更多评论   

不用出第二版了,出来也过时了。赶快写第三版,直接出第三版。出版社太差劲了尽快换了。
2007-07-13 17:45 | win

# re: [公告]《Eclipse从入门到精通》第二版已经在印刷,7月中可以上 市,中小城市要晚几天  回复  更多评论   

我的天,迟了一年多啊!!!

我终于明白中国学校的教程为什么总是落后于世界了,原来错不在学校,而是在出版社...
2007-07-16 15:22 | 李志亮

# re: [公告]《Eclipse从入门到精通》第二版已经在印刷,7月中可以上 市,中小城市要晚几天  回复  更多评论   

7月15日,去北京图书大厦查过,第二版仍未上市。
2007-07-16 22:35 | v

# re: [公告]《Eclipse从入门到精通》第二版已经在印刷,7月中可以上 市,中小城市要晚几天[未登录]  回复  更多评论   

出来也不好卖了。
2007-07-17 09:25 | 过客

# re: [公告]《Eclipse从入门到精通》第二版已经在印刷,7月中可以上 市,中小城市要晚几天  回复  更多评论   

我是石家庄的一个读者,要是我们能买到第二版,大概到什么时间了呢?
2007-07-17 15:16 | 流浪人

# re: [公告]《Eclipse从入门到精通》第二版已经在印刷,7月中可以上 市,中小城市要晚几天  回复  更多评论   

你原来的手机打了好多次,都不通了,请给我回邮件,有事商量,itcast#itcast.cn
2007-07-19 06:14 | 张孝祥

# re: 《Eclipse从入门到精通》第二版已经印刷完毕,几日内大中城市书店将可以买到  回复  更多评论   

第一版中
在第300页的程序远行时出现以下错误???
java.sql.BatchUpdateException: Syntax error or access violation message from server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Id int(6) unsigned NOT NULL auto_increment, name0 varchar(10) default NULL, na' at line 1"
at com.mysql.jdbc.Statement.executeBatch(Statement.java:1067)
at cn.com.chengang.sms.dbtest.CreateDbAndTable.main(CreateDbAndTable.java:46)
2007-07-22 17:11 | song

# re: 《Eclipse从入门到精通》第二版已经印刷完毕,几日内大中城市书店将可以买到  回复  更多评论   

怎样解决????
2007-07-22 17:12 | song

# re: 《Eclipse从入门到精通》第二版已经印刷完毕,几日内大中城市书店将可以买到  回复  更多评论   

TO SONG:应该是你打字的问题。去光盘找这个CreateDbAndTable.java,把里面的SQL语句复制过来。
2007-07-23 08:57 | 陈刚

# 第二版的书我已经借到,网站能否提供源码下载呢?[未登录]  回复  更多评论   

第二版的书我在书店借了一本,不过书店不肯把光盘也借出来,陈刚大哥能否提供n书中源码的下载呢?我的邮件是kongbowoo#163.com
2007-07-30 09:57 | kongbowoo

# re: 《Eclipse从入门到精通》第二版已经印刷完毕,几日内大中城市书店将可以买到  回复  更多评论   

@kongbowoo
在本书的“下载软件”帖中已经新增了配书光盘
http://www.blogjava.net/chengang/archive/2006/04/24/42869.html
2007-08-03 17:38 | 陈刚

# re: 《Eclipse从入门到精通》第二版已经印刷完毕,几日内大中城市书店将可以买到  回复  更多评论   

陈老师:
上周四买的第2版,这两天在看sms项目,非常有收获.期间由于cvs不大会用,造成几个文件无法"落实"......后来有点通了.在此请教2问题:
1.您的范例是个插件项目 怎么导入啊?
2.src\test\下的 建立mysql库和插入数据的文件,是作为"java应用程序"执 行吗?有次删掉class文件 就不能执行了 说class 没找到.
谢谢指教
2007-08-06 09:37 | 浦军

# re: 《Eclipse从入门到精通》第二版已经印刷完毕,几日内大中城市书店将可以买到  回复  更多评论   

I try again today with version3.3 ,import this rpc project "sms" into workshop.
2007-08-07 14:17 | 浦军

# re: 《Eclipse从入门到精通》第二版已经印刷完毕,几日内大中城市书店将可以买到  回复  更多评论   

1. 插件项目,可以用Eclipse主菜单的“导入”
2.是单独的"java应用程序",如果删掉class文件就不能执行,你可以再编译一次,以生成class。如果编译后还是无法生成class文件,则应该是你的项目设置有问题。
2007-08-07 19:21 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

听说要出第二版,真的很激动,第一版我看了部分的电子版,感觉真棒,马上去新华书店订书了,昨天终于等来了书店的电话,立马去取货了,陈大大写的书很8错的说,我原来一直只想机工出版社出的书,希望陈大也把书放那出版,哈哈!
2007-08-10 10:07 |

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

呵呵,买到了第二版的啦,看上去真的不错!正在研读中...
2007-08-14 20:43 | kevinwong

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@黄
谢谢,你的赞赏和鼓励,这无疑是做为作者的我的最好的礼物

@kevinwong
希望此书对您有所帮助
2007-08-15 14:59 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

陈先生:
您好。
我用fatjar打包项目。运行的时候提示could not find the main class
我按照书上说的将swt***.dll和我打包好的jar放在了同一目录下,可是仍然提示这个错误。不知道是怎么回事?
2007-08-22 11:25 | 李思

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

陈老师:
学习<第34章 Web环境的搭建>时遇到问题。我在两台机器上实验,a作为服务器,装有mysql,b作为客户机 ,装有tomcat 、eclipse等,在tomcat设置了datasource ,在eclipse运行testdb.jsp,没有报错,但网页什么也不显示。另外 如在a上装tomcat ,客户机上的eclipse怎么与远端的tomcat联系呢,难道eclipse一定要装在tomcat等一起吗? 谢谢!
2007-08-23 14:38 | 浦军

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

昨晚又try了一下,testdb.jsp文件没错,发现sql语句生成的sms目录里只有frm文件,缺myi等文件,所以用query browser 和命令行可以显示里面表的数据,但把sms目录复制到其他mysq的data目录下就不能显示数据,“testdb.jsp没有报错,但网页什么也不显示”也是这个原因?
2007-08-24 08:56 | 浦军

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

继续:把testdb.jsp修改显示其他data目录下的库、表,结果显示。
2007-08-24 08:58 | 浦军

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@李思
配置文件有问题。注意一些很细节的问题 ,如果冒号后面有没有空格,行未尾有没有空格等 。这些细节的影响很大。
2007-08-25 11:20 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@浦军
你的第一种方案是最常用的,数据库可以是另一台机器,没问题 的。
第二种eclipse和tomcate不在一个机器上的,我没试过。
如果显示不了,应该是其他问题 。
2007-08-25 11:23 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

去年买了第一版,今天买了第二版.只要是陈老师的书我没有理由不买,因为看他的书开发项目事半功倍.花那么几十块钱,却换来一生的财富.超值!!!
2007-08-26 22:59 | tudong

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

请教陈老师一个问题:
第34章 WEB 中配置Tomcat的数据库连接池

我按照您提供的2种测试方法进行调试.在Eclipse之外测试时候成功.

但是在Eclipse之内测试时,而且我还复制了书上所说的2个XML.可是还是出现下面的错误,望指点一下,万分感谢!!!
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:769)
at org.apache.naming.NamingContext.lookup(NamingContext.java:139)
at org.apache.naming.NamingContext.lookup(NamingContext.java:780)
at org.apache.naming.NamingContext.lookup(NamingContext.java:139)
at org.apache.naming.NamingContext.lookup(NamingContext.java:780)
at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:136)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.apache.jsp.testdb_jsp._jspService(testdb_jsp.java:55)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter

(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection

(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt

(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
2007-08-29 01:11 | Fans

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@Fans
遭遇同样问题 顶你
2007-08-29 03:03 | jgloving

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@jgloving
楼上的兄弟找到问题所在和解决办法了吗?彻夜期待中......
2007-08-29 08:45 | Fans

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@Fans
如果已经在Eclipse之外测试成功,说明你的配置已经正确。
(1)你复制到eclipse的2个XML是来自已经正确配置的%TOMCATE_HOME%/conf目录的吗?
(2)你是通过eclipse中的按钮来启动tomcate服务的吗?
2007-08-29 10:02 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@tudong
谢谢您的支持和厚爱
2007-08-29 10:02 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

我还试过如果我把%TOMCATE_HOME%/conf/的2个XML复制到Servers以后tomcat在Eclipse里启动不来.
2007-08-29 10:08 | Fans

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@Fans
补充一下:是停止之后tomcat提示错误,再也起不来.
2007-08-29 10:14 | Fans

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@Fans
没有解决 Eclipse外的测试能通过 但是Eclipse内的测试总是跟你一样的异常。
2007-08-30 00:42 | jgloving

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@Fans
停止tomcate提示错误。那不停止之前一切正常吗?

如果两个XML配置文件来自于Eclipse之外可以正常运行的tomcate,那么也可以用于eclipse之内的Servers项目。问题可能出在你的Servers项目,你可以把此项目删除后,再创建一个。另外还要注意软件版本的问题,你所用软件的版本是否和书上的一致。不同的软件版本,它的配置可能是不同的。
2007-08-30 08:26 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@Fans
@jgloving

另外,随书光盘有配置的全过程视频,可供你们参考。
2007-08-30 08:30 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@陈刚

谢谢了 已经解决了
我是把server.xml和context.xml复制到Servers的根目录下了 结果出错
现在改为复制到下面的Tomcat v5.5 Server @localhost-config下 终于搞定了
书里这个地方没有说清楚 不过那个图34.27倒是清楚了 呵呵
2007-08-30 12:45 | jgloving

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@陈刚

还有一个问题要请教:
就是用CVS进行版本控制的时候 如何处理myweb和Servers?
是一起共享吗?然后分别落实?给予一样的版本号?
刚试了一下 共享myweb 发现Servers并没有被同时共享 估计是要单独设置
不知道对否?

万分感谢!
2007-08-30 12:51 | jgloving

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@jgloving
把Servers当做一个和myweb平级的项目,共享要单独。

一般来说,Servers是不共享的,因为它并非项目源码。而且,如果你的同事的机器配置和你不一样(比如软件安装路径),那么他下载你的Server项目就无法正常启动。
2007-08-31 10:44 | 陈刚

# eclipse项目引用的问题[未登录]  回复  更多评论   

项目A为服务接口类项目,项目B为WEB项目,已设定B项目引用A项目,开发时没有错误,发布B项目运行时提示A中的接口类找不到。要如何处理?还是要将A项目打包成.jar,再引用到B项目中吗?谢谢!!!
2007-09-05 16:39 | robin

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

陈老师,我正在拜读大作
Eclipse从入门到精通第2版
遇到一个问题,百思不解,特此请教

第20章20.8节
我在Eclipse里自己创建的帮助文档.html,在运行时帮助窗口中,点击左侧节点,右侧显示乱码.可是我从光盘复制html文件到Eclipse里,运行时显示正常,但双击.html文件,编辑器却显示空白或只有一个字母.

谢谢.
2007-09-06 01:36 | lovejava

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@lovejava
调一下项目属性里的编码,把它设为utf-8或gbk或gb2312试试
2007-09-07 17:12 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@robin
需要再配置一下,具体参阅本书p451
2007-09-07 17:15 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

陈老师:
您好

我在您提供的网址上下载了eclipse-examples-3.2.1-win32,可是不知道如何使用

按照E第2版说的link方法安装,启动eclipse后,菜单上多了一个"FieldAssist",
下拉只有一个"open field assist Dialog..."项,点选弹出弹话框"Field assis Example".是不是要在这里登录才能使用插件啊,如何填写登录信息呢?
还有,Eclipse右下角状态栏多了一个绿色背景的"Read Me Trim (bottom)".

谢谢.
2007-09-08 23:47 | lovejava

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

陈老师:

第314页
23.2.3测试打包效果

有些不明白
(1)怎样知道myplugin插件是否安装成功呢,安装插件后,Eclipse有哪些变化呢?
(2)安装的myplugin插件如何使用呢,在开发myplugin插件项目时,在项目上点右键->运行方式->Eclipse应用程序出来一个界面,安装的插件使用时是否也要是这种效果呢?

谢谢
2007-09-09 01:50 | lovejava

# 编译时支持库与运行时支持库的区区别[未登录]  回复  更多评论   

一直没搞明白编译时支持库与运行时支持库的区别

(1)在manifest.mf里配置的class-path,只是运行时支持库,对吗
(2)怎样知道哪些是编译时支持库,哪些是运行时支持库呢,运行库必须lib目录下吗
(3)编译时是不是把所需库的代码编进了class文件中呢,所以运行时就不再需要这个库了呢?
(4)E第2版中第23章23.3节,在运行时,我把lib目录下那些jar文件删得只剩下org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar,但myswt.exe还是能正常运行,既然如此,为什么还要把那些没用的库copy过来呢

陈老师请教我,我越想越胡涂了
谢谢
2007-09-09 12:14 | lovejava

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

陈老师, 有问题请教:

关于Image的绝对路径和相对路径的问题:
创建了一个独立的SWT程序 在Canvas里显示图片,这里绝对路径和相对路径都没有问题. 现在打算在另外一个程序中调用此程序(做修改 去掉Main函数),实现双击树节点后显示此程序界面 然后加载图片, 结果相对路径出错 但是绝对路径没有问题, 不知道为什么会这样?

不胜感谢~
2007-09-11 11:43 | jgloving

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@lovejava
(1)eclipse-examples-3.2.1-win32和普通插件一样安装,安装完后会多出一个透视图或者是视图,你找一下。
(2)myplugin插件安装之后,和eclipse-examples-3.2.1-win32一样,也会在eclipse中多出自已的透视图。其实它的效果和在开发中运行项目时弹出的那个临时Eclipse一样的呀。myplugin和其他插件如lomboz有本质的区别吗?没有,都是插件。
(3)在项目属性的库引用里设置的是开发时的支持库。项目打包那一章,需要设置的都是运行时要的支持库。
(4)库不会被编译到那里,它是封闭独立的。
(5)org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar,可以支持myswt.exe运行,因为myswt.exe是一个简单的纯SWT程序,因此它用到的其他类不多。如果是JFace程序,仅这三个jar包就无法支持了。
2007-09-13 00:25 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@jgloving
随着调用者发生变化,相对路径应该已经改变,你不妨debug一下,看看此时的路径是什么。
2007-09-13 00:26 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

陈老师

谢谢您耐心细致的讲解
我基本上明白了
2007-09-13 02:31 | lovejava

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

陈老师

我在看E第2版 32章 RCP项目的打包与发行

图32.1"创建产品配置文件",为什么我电脑上出现的这个对话框里"使用启动配置:"后面那个下拉框里,没有书上所示的"sms"啊,下拉有三项"Eclipse应用程序","Eclipse应用程序(1)","Eclipse应用程序(2)",怎么回事啊?

还有看到这一章里用到了Java Web Start,想学习一下,我在网上搜了一下,发现您以前写的一篇文章"Java Web Start简介",文章写得不错,可是里面的图片都不能显示,很影响阅读,查了很多网站都是这样.陈老师可否把这些文章发给我啊.我的邮箱是ihway@163.com.

非常感谢.
2007-09-16 19:43 | lovejava

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

陈老师

32章还有一个问题:
P441页说到:
标记界面设置的最后结果是保存在plugin.xml文件的*.runtime.products扩展点中,如下所示.也可以直接编辑plugin.xml文件.效果和用"标记"界面设置一样.(以下略)
--------------------------------
可是我在"标记"界面设置完成后,点工具栏的保存按钮.在plugin.xml文件里并没有增加相应的代码.最后只得从光盘里复制过来.为什么啊.
2007-09-16 21:40 | lovejava

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

陈老师

上面最后一个问题解决了!
原来是要点"启动产品"的链接,才会把配置信息自动存到plugin.xml里.后面有提到.
怎么这样隐藏啊,应该是点保存时就自动存入plugin.xml才对.这算不算一个缺陷啊.

2007-09-16 22:25 | lovejava

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@lovejava
应该算是一个缺陷
2007-09-24 09:03 | 陈刚

# 为什么验证不起作用呢[未登录]  回复  更多评论   


陈老师好

我在36.5节方法2(V004)按书上一步步操作完成了,可是在运行时验证没起作用,当输入不合要求时,弹不出书上所示对话框,还是显示V003时的错误效果.(V003是正常的)

研究好多天了,实在苦恼啊,可能是什么原因呢.
谢谢了
2007-09-27 17:17 | lovejava

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@lovejava
你把它的项目和光盘上的V003对照一下,看看有哪些不同之处
2007-09-28 08:27 | 陈刚

# 验证和编码的疑问[未登录]  回复  更多评论   


陈老师

我从光盘复制过来jsp,运行时页面汉字出现乱码,后来把几个jsp里page指令的contentType都改成了utf-8就正常了,并且验证也正常了,真是奇怪。光盘上jsp里用的是utf8(其中少了一个"-"),

请问
(1)utf8和utf-8有什么区别呢,既然乱码,为什么光盘上用的utf8呢?
(2)编码和验证有关系吗,为什么改了字符编码为utf-8,验证才起作用呢?

谢谢您
2007-09-29 04:27 | lovejava

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@lovejava
字符编码还和你的操作系统、Tomcat设置等 等有关。当时,本书第一版都是统一用gbk或gb2312。后来,本书第二版改为统一用utf8了。不得不说字符编码是一个很诡异的东西,变数很多。最好是统一成一种编码,建议都用utf8

在我的rails项目中,以下两种都很正常。
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
2007-10-10 09:21 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

Eclipse RCP应用系统开发方法与实战
这本书是陈刚老师写的吗?请陈刚老师回复阿
2007-10-25 21:57 | wings

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

非常感谢您的《E书》,我看得第一版,赫赫。

这两天写的一个table的设置行高的demo(还要删除,添加item),出现问题,请教~~~ :)

给Table设置自定义行高出现的bug,很奇怪。
下面是完整的demo代码,:)
问题是有下面这段给table设置行高的,就会删除抛错。没有的话,就一切OK。。真是不知道为什么。。

public class ww {

private Table table;
protected Shell shell;
private Composite composite;
/**
* Launch the application
* @param args
*/
public static void main(String[] args) {
try {
ww window = new ww();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* Open the window
*/
public void open() {
final Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}

/**
* Create contents of the window
*/
protected void createContents() {
shell = new Shell();
shell.setSize(471, 500);
shell.setText("SWT Application");
composite = new Composite(shell,SWT.NONE);
composite.setSize(471, 500);

final Group group = new Group(composite, SWT.NONE);
group.setText("编辑参数");
group.setBounds(48, 297, 383, 145);

table = new Table(group,SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION);
table.setLinesVisible(true);
table.setHeaderVisible(true);
table.setBounds(10, 24, 373, 121);

String[] tableHeader = { "组号", " 类型 ", " X ", " Y " };
for (int i = 0; i < tableHeader.length; i++) {
TableColumn tc = new TableColumn(table, SWT.NONE);
tc.setText(tableHeader);
tc.setMoveable(true);
}
for (int i = 0, n = table.getColumnCount(); i < n; i++) {
table.getColumn(i).pack();
}

// 这个是给每行增加高度,有这段就抛错。。。
// table.addListener(SWT.MeasureItem, new Listener() {
// public void handleEvent(Event event) {
// event.height = (int)(event.gc.getFontMetrics().getHeight() * 1.5);
// }
// });


final Button button = new Button(composite, SWT.NONE);
button.setText("+");
button.setBounds(263, 252, 48, 22);
button.addSelectionListener(new SelectionListener(){

public void widgetDefaultSelected(SelectionEvent e) {}

public void widgetSelected(SelectionEvent e) {
TableItem item = new TableItem(table,SWT.NONE);
item.setText(new String[] { 1 +"", "", "", "" });

}

});


final Button button_5 = new Button(composite, SWT.NONE);
button_5.setText("-");
button_5.setBounds(340, 249, 48, 28);
button_5.addSelectionListener(new SelectionListener(){

public void widgetDefaultSelected(SelectionEvent e) {}

public void widgetSelected(SelectionEvent e) {
if(table.getSelectionIndex() >=0)
{
table.clear(table.getSelectionIndex()); //先清除该行的值
table.remove(table.getSelectionIndex());//再删掉该行。
}

}

});


}

}


我debug了一下,发现SWT.MeasureItem好像会让程序不停的调用设置行高的这段代码。
2007-11-20 21:11 | zw

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

您好!我在学习第五章的时候,配置lomboz,没有web里面没有动态的网页的选项是怎么回事呀? 只有静态的!怎么回事呀?
2007-12-02 19:58 | 小强

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

陈老师你好:
我刚购买了第二版,今天才发现自己忘记和服务员要随书光盘了。对这本书一直很感兴趣,花了六十多买了还忘记要光盘几乎崩溃了。我看了下书,上面说代码省去了一些东西。于是过来下载,可是没有啊。不知道那里有这个光盘可以下。万分感谢!
smurfjack@gmail.com
2007-12-20 20:15 | jack

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@zw
我试了一下你的程序,可以自定义行高,没报错。
我用的是Eclipse SDK Version: 3.3.1.1 Build id: M20071023-1652

另外,你的程序里有一句小错误:tc.setText(tableHeader); 应该是tc.setText(tableHeader[i]);
2007-12-27 23:02 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

陈老师,您好:

请教您一个CheckboxTreeViewer的问题,tree装载内容后,每一个节点前面都有一个复选框,有什么方法可以控制tree某一个节点前没有复选框,而某一些节点前面有复选框呢?比如书中第15章的例子,中国和美国节点前面的复选框我不希望有,而其下面的孩子节点,北京、台湾 以及 芝加哥、纽约要求前面有复选框。应该怎么实现呢?
还请您指教,谢谢!
2008-01-08 21:42 | renyy

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

陈刚,比较出名了。
2008-01-21 20:23 | xxxxxxxx

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@renyy
我暂时还没发现这种控件, 当然有能力的话可以自己写一个这样的控件。
2008-01-22 20:22 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@jack
已经上传源代码
2008-01-22 20:47 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

OK
2008-02-13 14:18 | wwe

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

我买了这本书。但是光盘是碎的。我在China-pub买的。
我看你书上说光盘里面的内容都有下载,就没让China-pub重新寄给我一个。

但是我在家是珠江宽频,连你的www.chengang.com.cn都解析不了,现在到了公司才能打开。那个下载地址在哪儿啊?
2008-02-21 17:01 | 郭浩泽

# re: 《Eclipse从入门到精通》第二版已面市[未登录]  回复  更多评论   

@郭浩泽
http://glchengang.gbaopan.com/
2008-02-22 00:16 | 陈刚

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

您在第二版中说用Ctrl+Shift+O快捷键加入相关类的import语句。但是我按下快捷键没有任何反应,请问如何解决这个问题。谢谢!
2008-02-23 09:35 | 李伟

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

import org.eclipse.ui.IFolderLayout;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;
import org.eclipse.ui.console;
public class ScorePerspective implements IPerspectiveFactory {

public void createInitialLayout(IPageLayout layout) {
String editorArea = layout.getEditorArea();
// 加入主功能导航器视图
IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT, 0.3f, editorArea);
left.addView("cn.com.chengang.sms.navigator.NavigatorView");
// 加入搜索视图
IFolderLayout bottom = layout.createFolder("bottom", IPageLayout.BOTTOM, 0.5f, "left");
bottom.addView("cn.com.chengang.sms.score.SearchView");
//加入控制台视图
IFolderLayout bottom2 = layout.createFolder("bottom2", IPageLayout.BOTTOM, 0.7f, editorArea);
bottom2.addView(IConsoleConstants.ID_CONSOLE_VIEW);
}
}
陈老师IConsoleConstants无法解析啊,怎回事??
请发我Email:13887694@qq.com
2008-03-12 22:30 | 黄其邰

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

是不是少了创建这个类??
2008-03-12 22:32 | 黄其邰

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

怎不回答哦.....我狂晕
2008-03-19 21:58 | 黄其邰

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

@黄其邰
请查对随书光盘代码import部份。
2008-03-21 00:14 | giles.chen

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

太想找一本这方面的书,现在 终于找到!
不知道在桂林有没有卖,我现在就在桂林!!
2008-05-05 18:43 | 阿贵

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

陈老师:您好!
为什么我在进行插件项目开发,仿照书本的17.2.2节以空白项目为基础建立HelloWorld,,最后选择了不基于任何模板后,却出现不了plugin.xml这个文件,如果自己去手动建立这个plugin.xml文件,整个工程会出错,我用的是eclipse3.2!
2008-06-16 10:47 | le

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

呵呵,陈刚老师写的这本eclipse书是我见过的最好的eclipse书。
陈刚老师什么时候写本关于draw2D和gef的书吧。
2008-06-19 08:48 | 曾红伟

# re: 急救啊  回复  更多评论   

我用TableViewer写了个表格,在eclipse运行一切正常,但打包后导出jar文件,双击运行不显示任何东西,也不报错。望能指点一下:我的联系Email:brainycheng@gmail.com
2009-02-02 23:15 | brainycheng@gmail.com

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

第二版的光盘http://glchengang.gbaopan.com里下不了,非要成为正式的用户,郁闷啊!谁有第二版的光盘传给我一份啊
wjw20040401@163.com
2009-02-23 14:21 | 万经文

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

gbaopan好象要钱的说,谁能提供份免费的呀,谢谢了~~
2009-03-24 17:12 | ccat

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

陈老师您好:
请问您一个问题,在您书里的20章,讲到视图间的通信机制,分为主动式和监听式
在监听式中的进阶部分,对 combox和text中的对象也可以被监听,只不过它们中的原始对象需要适配成ISelection对象。然而在TableViewer和 ListViewer等类中,在它们这些类中的原始对象好像并没有实现ISelection(一般为普通的POJO),也就是说它们(TableViewer和 ListViewer等类)内部肯定对原始的对象有个适配成ISelection对象的过程,您说,我理解的对吗?但是我并没有在其源码内找到适配的过程,请您指点。。谢谢陈老师。343854933@qq.com。
2010-04-02 14:52 | 王征

# re: 《Eclipse从入门到精通》第二版已面市  回复  更多评论   

您给的光盘地址http://glchengang.gbaopan.com/访问不到,能不能给一个新的地址,谢谢
2013-06-21 16:36 | 赵秀芳
评论共2页: 1 2 下一页 

只有注册用户登录后才能发表评论。


网站导航: