1

我正在尝试实现一个FP-Tree. 所以我使用了一个JTree. 我已经成功创建了我的树。但我需要向我的节点添加两个自定义属性,“Label”和“LabelCount”

而且我还需要在树中打印它。那可能吗?

4

1 回答 1

1

使用 DefaultMutableTreeNode 作为节点并向其添加用户对象,而不是将您自己的 TreeCellRenderer 实现添加到树中(setTreecellRenderer(...)
在您的 TreeCellRenderer 中实现 getTreeCellRendererComponent 方法。

Component getTreeCellRendererComponent(JTree tree,
                                 Object value,
                                 boolean selected,
                                 boolean expanded,
                                 boolean leaf,
                                 int row,
                                 boolean hasFocus)

Object 值参数将是包含您的用户对象的 DefaultMutableTreeNode。

您可以只返回包含所需文本的 JLabel(或任何其他组件)。

出于性能原因,您可以重用您的 JLabel,无需在每次调用该方法时都创建一个新的。

于 2013-03-30T22:30:33.900 回答