GUI桌面编程这个话题本来就非常不好写。这么多年,这么大一个领域,真真正正能写成像《深入浅出MFC》这样的经典的书籍没有几本。纵观国内在该领域出版的书籍,要么就是大篇大篇罗列这个控件那个控件怎么用,控件有哪些属性可以设置,有哪些事件可以处理;要么就是大段大段贴代码,而对于GUI编程的一些本质、一些哲学性的东西没有深入的分析。在Eclipse RCP领域尤其如此,有那么几本打着Eclipse RCP和OSGi大旗的书籍,但是其参考价值却不比Eclipse自带的帮助文档大多少,大有圈钱的嫌疑。
Eclipse RCP是个好东西。用Eclipse RCP写桌面程序,可以在一个很高的起点上构建自己的窗口应用,至于那种从头开始写窗口的日子是再也不复返了,甚至美工都不需要自己考虑了。(想想VC领域有多少界面库在折磨着程序员。)还有一个好处当然是跨平台了,虽然要背上一个Java虚拟机的负担。(现在的Eclipse RCP程序导出时可以自己包含JRE,又大大简化了程序部署的过程。)
五年前我写的那几篇博文有很多缺点,缺点一是其中有些东西我自己都没有搞懂,所以没办法写得太深入;缺点二是跳跃性太大,总共才六篇,我却又是展示COM组件,又是展示OpenGL,虽说让大家在视觉上是狠狠体验的一把,但是一点也不系统。所以这次一定要改变这些缺点,争取做到以下目标:
目标:
1.言简意赅,对于那些有助于理解Eclipse RCP平台的核心概念重点点出,并结合实例。对于那种在Google上一查一大把的废话坚决不写;
2.争取系统性地介绍Eclipse RCP平台可用的特性及其背后的一些设计模式,不再浮光掠影地一飘而过,也不专写冷门偏门;
3.不追求面面俱到,有些用不到的东西肯定没必要讲,也不怕别人说我水平差;
4.当然是大量展示图片啦。
好了,下面开工,首先,当然是创建一个Hello World,初步展示一些Eclipse RCP的效果。Eclipse RCP编程的本质就是利用Eclipse的插件机制,在Eclipse的Runtime上进行扩展来构建我们自己的窗口程序,所以,创建项目的时候当然是创建一个Plug-in Project了。只是在下面那个“Would you like to create a rich client application ?”的地方选择yes即可。
一路Next下去,我就不多截图了。在选择应用程序模板的时候,选择最简单的Hello RCP即可。如果这时运行程序(用Run As -> Eclipse Application),可以得到一个简单的窗口。
为了显示Hello World,我们需要一个扩展一个View。创建一个View类,其基类为org.eclipse.ui.part.ViewPart,如下图:
新闻热点
疑难解答
图片精选