gpt4 book ai didi

java - TreeCellRenderer : how to set background color?

转载 作者:搜寻专家 更新时间:2023-10-31 19:33:57 28 4
gpt4 key购买 nike

我编写了自定义 TreeCellRenderer 以更改组件外观。一切正常,除了 setBackground 没有效果。由于前景颜色始终正确更改,因此代码肯定会执行。由于选中的项目呈现为蓝色,取消选中的项目呈现为白色(我自己没有编写该代码),因此我假设我的更改已被 JTree 覆盖。那么改变背景颜色的正确方法是什么?

这基本上是我的代码:

JTree tree = new JTree(); 
tree.setCellRenderer(new MyCellRenderer());

///////

public class MyCellRenderer extends DefaultTreeCellRenderer{

@Override
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean isSelected, boolean expanded, boolean leaf, int row,
boolean hasFocus) {

JComponent c = (JComponent) super.getTreeCellRendererComponent(tree, value, isSelected, expanded, leaf, row, hasFocus);
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
MyData data = (MyData)node.getUserObject();
if(data.isX()){
c.setForeground(Color.blue);
c.setBackground(Color.gray);
}
return c;
}
}

最佳答案

尝试添加对 c.setOpaque(true) 的调用。

关于java - TreeCellRenderer : how to set background color?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16500414/

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