树节点的颜色(前景和背景)来自TreeCellRenderer
与您的JTree
. 您的树单元格渲染器JTree
取决于外观,但您可能可以假设它是从DefaultTreeCellRenderer
. 如果是,那么您可以调用几个颜色设置方法DefaultTreeCellRenderer
来更改树的颜色,如下所示:
tree = new JTree(root);
if (tree.getCellRenderer() instanceof DefaultTreeCellRenderer)
{
final DefaultTreeCellRenderer renderer =
(DefaultTreeCellRenderer)(tree.getCellRenderer());
renderer.setBackgroundNonSelectionColor(Color.YELLOW);
renderer.setBackgroundSelectionColor(Color.ORANGE);
renderer.setTextNonSelectionColor(Color.RED);
renderer.setTextSelectionColor(Color.BLUE);
}
else
{
System.err.println("Sorry, no special colors today.");
}