最近在做一个程序,要用到类似于vc中的CListCtrl控件功能,和QQ好友列表的那种图标一样,选定图标后会变蓝,API看了很久都没有发现比较有用的信息,只看到一个JLabel和那个比较相似,但是JLabel直接加到JList里面的话会出现不能选定,也就是选定后不变蓝的情况,而后在网络上得到的信息实现ListCellRenderer接口,然后对选定的JLabel设定背景颜色,而为了实现绘制JLabel的背景颜色,你不得不重写一个类继承JLabel并且重写paintComponent方法进行背景颜色的绘制,
具体实现如下:
第一个类:继承Jlabel重写paintComponent方法
|
|
第二个类:实现ListCellRenderer 接口,对选定的对象进行背景色的设定
测试类: