我创建了一棵树,但我不知道为其设置颜色。
JTree tree;
JList list;
JFrame frame;
tree=new JTree("Tree");
frame.add(tree,BorderLayout.WEST);
tree.addTreeSelectionListener(this);
frame.add(teamMember,BorderLayout.NORTH);
frame.add(list,BorderLayout.CENTER);
可以在 JTree 中设置颜色吗?
最佳答案
树节点的颜色(前景和背景)来自与 JTree
关联的 TreeCellRenderer
。 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.");
}
关于java - 可以在 JTree 中设置颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2379403/