什么是GRAPE

Grape 的 Skin 处理机制

09-06-30 | No Comments |

  Grape 是使用了 Swing 的 Look And Feel 机制来进行换肤的。当然仅仅使用 Look And Feel
是不够的,例如界面图标、浏览样式等等。

  为了能够使换肤功能更易扩展,Grape 专门设计了一组皮肤类,结构如下:


  实际上 SetupSkinAction 是个工厂,ISkin
及所有的实现产品对象的实现。当改变皮肤事件发生时,SetupSkinAction 会生成需要的 Skin
对象,并且该对象安装到系统中,从而完成皮肤更换。

  在 Grape 的配置文件中配置了系统当前使用的皮肤类,如下:

  grape.skin=mxjava.com.grape.core.ui.skin.SwingSkin

  系统在启动时,读取配置文件,将配置中的类路径通知 SetupSkinAction ,由 SetupSkinAction
利用反射生成皮肤对象并安装。

  使用过 Rss
客户端阅读器(例如:FeedDemon)的朋友可能都知道在更换皮肤后,阅读样式也发生了变化,该如何实现呢?以前的日志中,我推荐过一款非常强大的模版工具--Velocity。Velocity
不仅仅只能用在 Web 上,在桌面应用程序中也可以发挥作用。

  Grape 的皮肤图标、CSS、JS 以及 Velocity 解析用的 VM 文件都放在 styles
目录下。当更改皮肤后,系统会自动读取相对应目录下的文件,CSS 和 JS 文件载入 JTextPane 中,而 VM 文件交给 Velocity
引擎处理,最终解析成我们需要的 html 文件由 JTextPane 显示出来。


五冠 Nokia/诺基亚 5230 5230XM 送证书V20版 内有港行 销数千台
1000.0元
批发 雷朋3025镜面反光太阳镜 太阳眼镜 19.9/副 顶级质量
19.9元
促销笔记本电脑 13.3英寸超薄N450无线网卡视频
1999.0元

留下您的脚印


«
»