我创建了一棵树,但我不知道为它设置颜色。
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中设置颜色吗?
答案 0 :(得分:7)
树节点的颜色(前景和背景)来自与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.");
}
答案 1 :(得分:-1)
JTree
继承了JComponent
的颜色方法,例如setBackground
。请参阅示例here