我们大多数的时候,都在抱怨Swing界面简陋,其实说这话的大多数和我一样都是一个Swing的新手,或者说是一个桌面开发的新手,诸如瑞星那样的应用其实可见也没几个是原生态的Windows的桌面控件,先不谈我们可以选择look&feel来改变我们的主题,甚至实现office2007的那样的效果,Swing本身的MVC模式就为我们提供了无限的可能;在上一篇文章中我们实现了按钮的改头换面,其实那种方式是一种强耦合的界面改换,在本文中我们将利用Swing本身所提倡的方式来实现控件的美化;
Swing的千千静听
下图是一个java Swing版本的千千静听风格的播放器,在里面我们已经见不到Swing的影子(如图一);
图一.绚丽的Swing播放器
打造绚丽的Slider
首先我们必须在基础的BasicUI上扩展出自己的UI界面,代码清单如下:
我们首先必须保证我们的激活的背景图片和没有被激活的背景图片是一样长的:如下图2,图3,
图2,没有激活的声音
图3,激活了的声音
然后就是运用graphics一个重要的截取图片的方法,吧激活了声音的部分截取下来;
代码清单如下:
可以继承一个自己的JSolider,如下:
然后将UI和控件结合起来,如下:
这个时候我们就得到了一个绚丽的solider;从下图4中我们可以清晰的看见激活和未激活部分的区别,高亮了激活的部分;
图4,高亮的激活部分:
备注
1)首先图片的背景必须是透明的,这样才能只显示有效的空间部分(以上图片的时候背景是黑色的,其实在ps下面是透明的),格式是支持透明的png格式;
2)在设置控件大小的时候必须用
反复调整好大小,不然会出现真实的solider和我们的图片的大小不相符,导致指针溢出等现象;