我有一个JTree
我给对象实现TreeNode
接口的对象,以及一个自定义TreeModel
来显示它们(不使用DefaultMutableTreeNode
)。我想更改某些节点的文本颜色。我在文档中找不到任何东西,除了javax.swing.tree.DefaultTreeCellRenderer.setTextNonSelectionColor(Color newColor)
,但它会不加选择地改变一切,我只需要一些节点(具体来说,断开的链接,即在磁盘上找不到相应文件的节点,应该是灰色的出,其余的应该是默认的)。可以做到吗,怎么做?
问问题
1202 次
2 回答
3
你已经接近你的答案了。您需要做的是 Sub Class theDefaultTreeCellRenderer
并覆盖一些DefaultTreeCellRenderer
's 方法。然后确保您告诉树使用您的自定义单元格渲染器。
您需要做的是有一些状态变量来指示链接是否断开,并根据它设置节点的颜色。
于 2010-05-24T04:11:29.037 回答
0
您可能还看一下,在这个答案org.netbeans.swing.outline
中提到。的普通扩展和界面使得自定义树中行的外观变得特别容易。TableCellRenderer
RenderDataProvider
于 2010-05-24T16:06:41.517 回答