gpt4 book ai didi

java - 这个彩色的 JTree 有什么问题吗? (自定义渲染器问题)

转载 作者:行者123 更新时间:2023-12-01 17:40:12 26 4
gpt4 key购买 nike

我想编写自定义 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 寻求帮助。

//更新:我关联了我的代码,但没有帮助。

最佳答案

也许您指的是 setBackgroundColor() 而不是 setBackgroundSelectionColor(),顾名思义,它仅设置所选状态的颜色。

您对 super 的使用是super流利的[这个诙谐的评论归功于 Carl Smotricz ].

关于java - 这个彩色的 JTree 有什么问题吗? (自定义渲染器问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1751026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com