Цвета (как переднего плана, так и фона) для ваших узлов дерева берутся из 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.");
}