Я хочу написать собственный TreeCellRenderer, чтобы Root, узлы и листья были другого цвета.
Это мой код:
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);
}
}
});
К сожалению, только выбранный узел меняет цвет.
Что я делаю не так? ТИА за помощь.
// обновление:
Я сопоставил свой код, но это не помогло.