怎么给jcheckbox前面默认小控件加上底色(如灰色)?
jcheckbox的默认小控件(小正方形 加勾表示选中)的底色默认是白色,我想动态改变它的底色,为了保留小勾,必须用半透明色(?)。
我的代码:
class TreeCheckBox extends JCheckBox{
public void paint(Graphics g) {
super.paint(g);
if ($我的条件) {
g.setColor(UIManager.getColor("Tree.selectionBackground"));
Dimension d = getPreferredSize();
g.fillRect(d.width/4-1, d.height/4, (d.width -1 - imageOffset)/2, height/2);
}
}
灰色刚好能覆盖小控件,但小勾也被覆盖了?怎么实现保留小勾而改变背景色?