前言
长期以来,Java在桌面应用开发领域中一直表现不佳。Eclipse RCP的横空出世,犹如一股春风,吹散了笼罩在Java桌面应用开发上空的阴云。可以说,Java在桌面应用开发领域已经“待到山花烂漫时”。
从富客户端到瘦客户端,又从瘦客户端到富客户端,流行的开发模式似乎也演绎着佛学中的“轮回”观,富客户端应用如王者归来!而Eclipse RCP有望成为其翘楚,甚至还有人说其可能一统江湖。这固然有些夸张,但Eclipse RCP在国内外如火如荼的应用却是不争的事实。国外比较著名的Eclipse RCP项目有:美国国家航空航天管理局(NASA)的火星探测计划、IBM Workplace开发平台、JBuilder、Flash 9,等等。国内似乎总是要比国外慢一拍,但电信、金融、电力系统等行业越来越多地开始应用Eclipse RCP开发的桌面系统了。
Eclipse RCP受到广泛欢迎与其具有诸多先天特质有关。如果说组件化、脱线操作、可扩展性不算新鲜的话,便利性、智能安装和升级、领先的架构、本地观感及使用体验等绝对给人耳目一新之感。还有一个很重要的元素:Eclipse由业界领先者推出,具有强大的行业力量!Eclipse基金会既有大量学术研究机构,也有商业组织,连Borland、Rational Software、Red Hat、Sybase、Google和Oracle这些业界巨头也被囊括其中。
要做一个好厨师,首先需要做出第一道菜。如果仅仅对萝卜、白菜的各种特征了然于胸,纸上谈兵还可以,想做出一道可口的菜肴恐怕很难。正如许多学习者对各种理论、命令、函数和语法非常熟悉,应付考试可以,面对一个实际问题却无从下手。关于计算机人才培养,有一个得到广泛认可的观点:计算机人才必须结合实践培养,必须从项目实战中走来。
目前市场上Eclipse的书籍慢慢多起来,但大多数书籍的内容比较宽泛,或者讲解Eclipse的操作,或者介绍Eclipse开发的方方面面,并没有一个较完整的项目讲解。另外,国内目前几乎没有专门介绍Eclipse RCP的书籍。本书专注于Eclipse RCP的开发,以一个实际项目作为全书的主线,贯穿全书,并融入众多知名第三方开发工具和Eclipse RCP的开发技巧。认真、耐心地学习并按照书中内容进行实践,一个实际的项目系统将会在你的手中诞生。
本书概述
本书共分12章。第1章,简要介绍了Eclipse及Eclipse RCP的渊源、特征、体系结构和优点,以便读者能够对Eclipse RCP有一个概括性的了解。第2章,以源自实际的高校经费测算系统作为案例,对系统进行了分析与设计。第3 章,详细介绍了如何配置开发环境,涉及Eclipse 3.2、MySQL 5.0、MySQL-Front 3.2、Derby 10.2、SQLExplorer 2.2、 Hibernate 3.2、Hibernate Synchronizer、POI 2.5等诸多软件的下载、安装、配置和基本应用技巧。第4章,介绍了SWT/JFace常用组件的使用。第5章,搭建测算系统的主程序,讨论了如何定制开发平台和目标平台、定制窗口属性、添加菜单和工具栏、实现主界面透视图和视图、系统托盘处理、定时自动显示托盘气泡提示文本、图片的缓冲处理及品牌化应用程序等实战技巧。第6章,实现了用户登录处理,着重讨论了基于Preferences的用户登录处理、登录数据的加密、基于数据库的用户登录处理、登录进度条显示和系统状态栏的处理等问题。第7、8、9章中,完整实现了测算系统的各个功能,内容涉及定制欢迎画面、导出产品中文乱码问题、属性改变监听模式和提供器-选择监听器模式的基本原理、利用监听事件同步数据、Hibernate数据持久化、GC图形绘制、TreeViewer和TableViewer的应用、数据绑定技术、编辑器技术、与Excel交互、JFreeChart组件、获取服务器数据、Derby数据库备份机制、远程数据源配置可选化,等等。第10章,介绍了如何实现帮助功能,例如定制帮助样式、上下文敏感帮助等。第11章,讨论了如何实现产品在线升级。第12章,介绍了产品发布问题,主要涉及Derby数据库服务器的自动启动/停止、使用NSIS制作安装程序等内容。
本书说明
本书不唯理论、注重实战,各个章节都遵循“先调试程序,再写作”的写作流程。全书的操作和示例代码,都经过仔细运行调试,可以负责任地说,没有任何问题。如果读者操作过程中无法显示正确结果,请仔细检查有无遗漏操作步骤、是否敲错代码、是否配置好开发运行环境、是否导入了正确的包文件、是否存在软件版本冲突,等等。请读者尽量自己排错,如果无法解决再与本书源代码对照。另外,本书程序是在Windows 2000环境下调试运行的,在Windows XP环境下画面效果可能有些许差别,提请读者注意。对于书中的代码,类似于“cn.edu.jfcs.sys/YearManager.java”这样的语句表示其下面的代码属于cn.edu.jfcs.sys包下的YearManager.java文件,上机实践时并不需要这样的语句,而“import …”则是为了节省篇幅,省略了大量需要导入的类文件说明。另外,书中提供的各种软件的下载地址和版本,到本书面市时,可能会发生变化,也请读者注意。
如果想要看到程序的运行效果,最简单的方法自然是将本书提供的源代码导入Eclipse运行,但对于初学者这不是好办法。建议不要采用复制粘贴的方式,还是自己键入代码,方法似乎是笨些,学习效果却要好很多。正如你可以诟病中国古代私塾的死记硬背教学方式,却无法否认由此催生的古老灿烂的中国文化。
写作是辛苦的。夜深人静之时,常为无法找到更好的表述方式而苦恼,也曾为调试程序而焦虑。如果读者能够在本书的引导下,做出第一道Eclipse RCP大餐,哪怕味道有些许苦涩,作者也就感到莫大满足了。
本书的写作得到了电子工业出版社田小康编辑的全程指导,他的工作责任感、工作热忱及耐心、细致的态度令人敬佩。宏微软件总经理陈志先生、美国亚利桑那大学访问学者夏火松博士对本书的写作和内容提出了很多意见和建议,在此表示感谢!本书编写过程中,作者查阅了Eclipse官方网站、IBM中国网站、Apache Group官方网站、eclipsezone.com、中国Eclipse社区、各相应第三方开发工具的官方网站及其他各类网站的资料,在此深致谢意!
尽管作者作了最大努力,但限于水平,书中难免存在错误或者疏漏之处,欢迎各界专家和读者朋友批评指正。读者可以通过电子邮件与我们联系:ercpapp@yahoo.com.cn。
编 著 者