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.");
}