关于使用TreeCellRenderer设置背景颜色无效的问题

来源:互联网 发布:街头采访 知乎 编辑:程序博客网 时间:2024/04/29 23:44

在使用JTree时,当我们需要自己定义渲染器时,就需要实现TreeCellRenderer类或者继承DefaultTreeCellRenderer类。不管是实现或者继承,当我们需要改变背景颜色而调用setBackground()方法时,设置可能无效(有意思的是设置前景颜色setForeground()确是有效的)。出现这种情况,我们就需要加上这样的语句:

this.setOpaque(true);

setOpaque方法用于设置控件是否透明。至于为什么设置透明就能使setBackground()方法有效,LZ表示自己所知甚少。
——————————————————————————————
参考:http://stackoverflow.com/questions/16500414/treecellrenderer-how-to-set-background-color

0 0
原创粉丝点击