カスタム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。
//更新:コードを関連付けましたが、役に立ちませんでした。