树节点的颜色(前景和背景)来自
TreeCellRenderer
与您的
JTree
. 树单元渲染器
树形结构
取决于外观和感觉,但你可以假设它是由
DefaultTreeCellRenderer
. 如果是,则可以在
默认TreeCellRenderer
要更改树的颜色,请执行以下操作:
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.");
}