虽然 rap 是 rcp 的 web 版本 , 但是因为 一个是图形界面,一个是 web 界面 , 它们之间还是存在一些差异 , 现在把我们项目中碰见的差异罗列一下 , 大家以后碰见了就不至于浪费时间找原因了 .^_^
1、 Label 和 Button 按钮的显示的差异
当 Label 和 Button 显示的文字过长显示不开的时候 ,rcp 、 rap 的处理方式就不一样了 ,rap 显示不开会自己截取掉后面的文字 ,rcp 会在文字的中间加上省略号 .
还有关于 Label 和 Button 设置图片 , 文字过长的时候 rap 的图片不会显示 , 可以使用 CLabel 来替换 Label
建议统一处理方式 : 不使用他们自带的文字截取方式 , 统一计算文件的长度 , 在文字最后面加上 … 来使二者统一
2、 TreeViewer 的差异
目前最新的 rap 版本 TreeViewer 偶尔有遮挡的问题 , 这个问题暂时不能有效的避免 ,
3、 属性视图 -tree 无法设置行高的问题
关于设置 treeViewer 的高度 ,rcp 支持设置行的高度 ,rap 不支持 , 这个暂时没有解决方法
4、 对 GEF 、 draw2d 的支持
目前 rap 暂时不支持 GEF draw2d ,不过目前已经在开发中。
5、 paint 监听, rap 没有
rap 组建很多都没有 paint 重绘方法 , 导致很多界面不能进行重绘。比如 treeVIewer 上面添加 cellEditor 进行界面上直接编辑 , 因为不支持 ,paint 导致 cellEditor 和当前的行的位置不匹配。在后续文章中会对此问题的解决方法进行专门的讲解
6、 扩展点的差异控制台扩展点
Rap 界面目前对扩展点的支持也不是很完善 , 控制台扩展点和帮助视图扩展点都不是很完善 , 不过大家可以自己实现 . 不是很复杂
7、 帮助系统的差异
Rcp /rap 的帮助系统完全不同 ,rap 的帮助系统只是加载一个 jsp 页面
8 、上传下载的差异
一个是web 一个是图形界面,后续会写如何在rap实现上传和下载
9 、视图拖动
用过 eclipse 的朋友都知道 ,eclipse 之间的视图是可以任意拖动的 , 目前 Rap 不支持 , 视图间的拖动 , 这个算是比较遗憾吧