怎么给jcheckbox前面默认小控件加上底色(如灰色)?

jackiedlh 2005-01-06 11:20:11
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);

}
}
灰色刚好能覆盖小控件,但小勾也被覆盖了?怎么实现保留小勾而改变背景色?
...全文
243 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackiedlh 2005-01-06
  • 打赏
  • 举报
回复
哦,no one is interested with this question?!
jackiedlh 2005-01-06
  • 打赏
  • 举报
回复
to cuizm:
我是想在代码中动态改变小筐的底色,来表示不同的选择状态

具体是:
我的checkbox是树的一个节点,当树节点的子节点都选中的话,呈默认底色;当子节点部分选中的话,通过修改底色来区别。
射天狼 2005-01-06
  • 打赏
  • 举报
回复
那个框的颜色是系统控制的,你可以在 "桌面右键->属性->外观->窗口",改变窗口颜色 之后就可以改变那个小框的颜色!!

jackiedlh 2005-01-06
  • 打赏
  • 举报
回复
up

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧