Posted on 2012-09-15 21:01
Jack Jiang 阅读(3538)
评论(8) 编辑 收藏
【前言】
传统意义上讲,Swing外观定制相当困难。java1.5里发布的Synth技术在没有可视化工具的前提下,依然不实用。曾今听说SUN将针对Nimbus主题推出一款可视化设计工具,也没有了下文。
一个稍复杂点的平面效果,受限于技术实现,Swing里也只能像网页一样——切图拼合,但在Swing里这么做代价较大:需要精确切图拼合、复杂的布局、未来定制很困难等等,显然不实用。
直到接触Android应用的UI改进,循着Android与标准java的渊源,认为NinePatch技术移殖到Swing中有很大的可能,顺利的话有可能完全兼容。最后,一切正如所料。
接下来也就有了BeautyEye L&F这个项目的想法。
【关于 BeautyEye L&F】
前几年,因对Swing的外观定制有过几次深入实践,因而今年初有了利用NinePatch技术为Swing彻底改头换面一次的想法。
起先没想完全开发一套LNF,因为明知工作量很大(包括编码,更为困难的是美感与视觉效果的确定),原本只想在Windows LNF的基础上深入改进,以便站在前人的肩膀上快速收工。因熟门熟路,定制起来非常顺手,随着改造的深入,完全定制一套LNF的条件自然成形。
经众多基础ui素材的积累和借鉴,以及效果精细调整,各组件外观逐渐达到预想的效果,也就萌发了要将此项目分享于互联上,供需要的人使用。
过程中也难免存在些遗憾——有些更好的想法没有付诸实施,原因在于LNF代码的结构很多时候并不像Swing本身一样优秀(更多时候是LNF创造者们有所保留,因为LNF代码难保一劳永逸),且存在不少未公开API的调用,基于兼容性和未来维护难度的考虑,采取了中庸之道。
如有喜欢者将甚感欣慰,不喜者也权当技术交流,千万勿喷。你可将其无偿用于测试、学习、甚至商业用途。但禁止在未经授权的情况下用于商业用途等,还请尊重知识产权。
有兴趣者可加【QQ群:259448663(已满)、2群:217134536 】方便交流。
【项目托管地址】
地址:http://code.google.com/p/beautyeye/ ,内有详尽开发指南及演示程序截图等。
【效果预览】
Part 1/2
Part 2/2
【题后话:关于编写LNF定制系列文章的想法】
在该项目的目录组织结构上,不同组件都单独开列,目的是设想未来可针对各组件逐一编写教学文章,但可以预见工作量也是不小,必竟个人业余时间有限,而且也不知道是否真有人需要,所以此事暂且放一边,也希望有兴趣者协同开发,从而为Swing LNF定制分享更多的经验,惠及后来者。