您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 自己动手写开发工具--基于Eclipse的工具开发
本文由kira__kira贡献pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。ChinaPub在线购买:=36806CSDN在线阅读:开源团队:内容介绍:本书系统地介绍了SWT、Draw2D、GEF、JET等与Eclipse插件开发相关的基础知识,并且以实际的开发案例来演示这些知识的实战性应用,通过对这些实际开发案例的学习,读者可以非常轻松地掌握Eclipse插件开发的技能,从而开发出满足个性化需求的插件。本书以一个简单而实用的枚举生成器作为入门案例,通过该案例读者能学习到扩展点、SWT、JET等Eclipse插件开发的基本技能;接着对Eclipse插件开发中的基础知识进行了介绍,并且对属性视图的使用做了重点介绍;最后以两个具有一定复杂程度的插件(Hibernate建模工具和界面设计器)为案例介绍了SWT、Draw2D、GEF、JET等技术的综合运用。第1章Eclipse插件……11.1插件的安装……11.1.1直接复制安装……11.1.2links安装方式……21.1.3Eclipse在线安装方式……31.2内置JUnit插件的使用……51.3可视化GUI设计插件——VisualEditor91.3.1VisualEditor的安装……91.3.2一个登录界面的开发……101.4Eclipse的反编译插件……211.4.1为什么要反编译……211.4.2常用Java反编译器……221.4.3反编译不完全的代码的查看……231.5WTP插件使用……26第2章Eclipse插件开发……302.1Eclipse插件开发介绍……302.1.1开发插件的步骤……302.1.2Eclipse插件开发学习资源的取得……312.2简单的案例插件功能描述……312.3插件项目的建立……332.3.1建立项目……332.3.2以调试方式运行插件项目……382.4改造EnumGeneratorNewWizardPage类……392.4.1修改构造函数……392.4.2修改createControl方法……402.4.3修改initialize方法……412.4.4修改handleBrowse方法……462.4.5修改dialogChanged方法……492.4.6分析updateStatus方法……502.4.7取得界面控件值的方法……512.5开发枚举项编辑向导页……512.5.1初始化……532.5.2相关环境数据的处理……542.5.3代码生成……542.6编写代码生成器……572.7功能演示、打包安装……64第3章插件开发导航……683.1程序界面的基础——SWT/JFace.683.1.1SWT的类库结构……683.1.2SWT中的资源管理……703.1.3在非用户线程中访问用户线程的GUI资源……703.1.4访问对话框中的值……723.1.5如何知道部件支持哪些style.733.2SWT疑难点……743.2.1Button部件……743.2.2Text部件……743.2.3Tray.743.2.4Table.743.2.5在SWT中显示AWT/Swing对象……753.3异步作业调度……763.4对话框……793.4.1信息提示框……793.4.2值输入对话框……803.4.3错误对话框……813.4.4颜色选择对话框……823.4.5字体对话框……833.4.6目录选择对话框……833.4.7文件选择对话框……843.4.8自定义对话框及配置保存与加载……853.5首选项……863.6Eclipse资源API和文件系统……883.6.1资源相关接口的常见方法……893.6.2方法中force参数的意义……913.6.3资源相关接口的方法使用示例……913.6.4在Eclipse中没有当前项目……923.7Java项目模型……923.7.1类结构……923.7.2常用工具类……943.7.3常用技巧……953.7.4设定构建路径实战……1003.7.5如何研读JDT代码……1053.8插件开发常见的问题……1063.8.1InvocationTargetException异常的处理……1063.8.2Adaptable与ExtensionObject/Interface模式……1073.8.3千万不要使用internal包……1113.8.4打开视图……1113.8.5查找扩展点的实现插件……1113.8.6项目nature.1113.8.7透视图开发……1123.8.8关于工具条路径……1133.8.9Eclipse的日志……116第4章属性视图……1174.1基本使用……1174.1.1IPropertySource接口说明……1184.1.2对象实现IPropertySource接口……1204.1.3对象适配成IPropertySource对象……1254.2属性视图高级话题……1284.2.1属性分类……1284.2.2复合属性……1334.2.3常用属性编辑器……1404.2.4自定义属性描述器……146第5章开发Hibernate插件……1545.1功能描述……1545.2XML文件的处理……1585.2.1XML处理技术比较……1585.2.2Dom4j的使用……1595.2.3XStream的使用……1655.3实体模型文件创建向导……1695.4模型的定义和模型文件处理……1765.5实体属性描述器……1875.6实体编辑器……1935.6.1字段的编辑……1935.6.2编辑器基类……2005.6.3实体编辑器核心配置界面……2035.6.4多页实体编辑器……2245.7代码生成……2285.7.1代码生成器接口……2285.7.2代码生成器配置文件……2325.7.3代码生成向导……2355.7.4公共工具类CommonUtils.2435.8Hibernate代码生成器……2455.8.1命名策略……2465.8.2工具类……2475.8.3代码生成的JET代码……2515.9CowNewStudio使用实例……259第6章基于GEF的界面设计工具……2636.1GEF简介……2636.1.1Draw2D..2636.1.2请求与编辑策略……2646.1.3视图与编辑器……2646.1.4GEF的工作过程……2656.2系统需求……2656.2.1界面设计工具的分类……2656.2.2功能描述……2666.3构建模型……2676.4实现控制器……2756.4.1窗体和组件的控制器……2756.4.2编辑策略……2796.4.3命令对象……2836.5窗体文件创建向导……2876.6组件加载器……2896.7编辑器……2956.8代码生成和构建器……3106.8.1代码生成……3106.8.2构建器……3136.8.3为项目增加构建器……3206.9实现常用组件……3236.9.1标签组件……3236.9.2按钮组件……3276.9.3复选框……3316.9.4编辑框……3366.9.5列表框……3386.10使用演示……346前言Eclipse是一款非常优秀的开源IDE,非常适合Java开发,由于支持插件技术,受到了越来越多的开发者的欢迎。作为一款优秀的平台,如果我们只是使用Eclipse的现有功能进行开发,无疑不能发挥出Eclipse的全部威力,如果能根据需要开发基于Eclipse的插件,那么将会大大提高开发效率。现在市场上已经有了几本Eclipse的相关书籍,但基本上都是偏重于Eclipse的使用,很少有涉及到基于Eclipse的插件开发的书籍,即使有讲述到Eclipse插件开发的,其内容也是浅尝辄止,根本没有对有一定复杂程度和实用性的插件开发进行讲解。Eclipse的插件体系是非常复杂的,学习门槛也非常高,为了帮助国内开发人员掌握Eclipse的插件开发技术,从而开发出满足自己要求的插件,本书将系统地介绍Eclipse插件各方面的知识,并且通过实际的开发案例来演示这些知识的实战性应用。书中的对应的Eclipse版本为Eclipse3.2,可以从网站免费下载。本书内容安排:第1章介绍常用的Eclipse插件的安装和使用。2章以一个枚举生成器插件的开发为案例讲解一个简单、第实用的插件的开发步骤。3章介绍Eclipse插件开发中常用的基础知识。4章介绍插件对属性视图的支持。第第第5章以Hibernate建模插件为案例讲解有一定复杂程度和实用性的插件的开发。6章以界面设计器插件为第案例讲解基于GEF技术的图形插件的开发。本书相关的后续资料将会发布到如果您对本书有任何意见和建议,可以发送邮件到about521@163.com,CowNew开源团队网站()中。杨中科序言“自己动手写开发工具”是很多开发人员的梦想,虽然市场上已经有了各种开发工具,但是在一些情况下还是有编写自己开发工具的需求的:l使用的编程语言没有合适的开发工具。比如在Eclipse出现之前,Python、Ruby、JavaScript等语言都没有很好的全面支持代码编写、调试以及重构的开发工具,使用这些语言进行开发非常麻烦。l为自己开发的语言配备开发工具。有时我们会开发一款新的开发语言,为了方便使用,我们也需要为其提供相应的开发工具。l为控件库、框架等提供开发工具。Echo2、Tapestry、Spring等都是非常优秀的产品,但是通过手工编码的方式使用这些产品仍然是非常麻烦的,如果能配备图形化的开发工具,那么通过简单地鼠标拖拽就可以快速完成工作。l为产品提供二次开发工具。很多公司都有自己的产品,而这些产品一般都提供了二次开发的能力,开发人员只要进行少量的编码或者配置就可以很轻松的实现针对特定客户的个性化功能。由于二次开发人员的技术水平相对较差,如果能提供一个图形化的二次开发工具也必将提高二次开发的效率及质量。对于上面的几种情况,已经有很多开发人员探索着实现了,比如BoaConstructor就是一款用Python语言编写的Python开发工具,润乾报表提供了用Swing技术实现的报表设计器。这种所有功能全盘自己实现的方式有如下的缺点:l必须自己处理所有的细节问题。比如实现一个语言的开发工具就必须自己处理语法高亮、语法分析、代码提示、调试、重构、可视化的界面编辑器以及代码生成等,这些问题的处理对开发人员的要求非常高,而且开发工作量也非常大。l各个工具的差异性非常大,增加了用户的学习成本。l不同的工具之间的集成非常困难。由于不同的工具是由各个厂商独立开发出来的,互相之间的集成非常麻烦,不仅使用的时候需要运行多个工具,而且经常需要在多个实现相似功能的工具之间做出取舍。Delphi、VS.NetStudio、JBuilder、NetBeans等都提供了一定的扩展机制,我们只要按照要求编写插件就能在这些工具中开发扩展功能,但是这些工具提供的扩展功能是非常简单和有限的,我们几乎无法完成编写开发工具这样复杂的功能。做为IDE界的一匹黑马,Eclipse在几年内异军突起,很多开源项目或者商业化的产品都提供了相应的Eclipse插件,比如Echo2、GWT、Struts等开源产品以及IBMWebsphere、Crystal、金蝶、普元等商业公司的开发工具都基于Eclipse进行开发,甚至Borland也将新版本的JBuilder移植到Eclipse上。Eclipse能够得到这么多厂商的支持,究其原因有如下几点:免费且开源;开放性;可扩展性强;对开发工具的开发提供了强大的支持;基于Eclipse的产品更专业;各种插件可以组合使用。免费且开源大多数开发工具都是按用户数收费的,对于开发人员比较多的公司来说开
本文标题:自己动手写开发工具--基于Eclipse的工具开发
链接地址:https://www.777doc.com/doc-2117592 .html