3

我有一个JTree我给对象实现TreeNode接口的对象,以及一个自定义TreeModel来显示它们(不使用DefaultMutableTreeNode)。我想更改某些节点的文本颜色。我在文档中找不到任何东西,除了javax.swing.tree.DefaultTreeCellRenderer.setTextNonSelectionColor(Color newColor),但它会不加选择地改变一切,我只需要一些节点(具体来说,断开的链接,即在磁盘上找不到相应文件的节点,应该是灰色的出,其余的应该是默认的)。可以做到吗,怎么做?

4

2 回答 2

3

你已经接近你的答案了。您需要做的是 Sub Class theDefaultTreeCellRenderer并覆盖一些DefaultTreeCellRenderer's 方法。然后确保您告诉树使用您的自定义单元格渲染器。

您需要做的是有一些状态变量来指示链接是否断开,并根据它设置节点的颜色。

于 2010-05-24T04:11:29.037 回答
0

您可能还看一下,在这个答案org.netbeans.swing.outline中提到。的普通扩展和界面使得自定义树中行的外观变得特别容易。TableCellRendererRenderDataProvider

于 2010-05-24T16:06:41.517 回答