【发布时间】:2009-11-17 19:02:46
【问题描述】:
我想编写自定义 TreeCellRenderer 以具有不同颜色的根、节点和叶子。
这是我的代码:
tree.setCellRenderer(new DefaultTreeCellRenderer() {
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
{
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
if (node.isRoot()) {
super.setBackground(Color.red);
} else if (node.getChildCount() > 0) {
super.setBackground(Color.yellow);
} else if (leaf) {
super.setBackground(Color.green);
}
return super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
}
}
});
不幸的是,只有选定的节点会改变颜色。
我做错了什么? TIA 寻求帮助。
//更新: 我关联了我的代码,但它没有帮助。
【问题讨论】: