将自定义属性添加到JTree并打印它

时间:2013-03-30 19:27:51

标签: java swing jtree

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

我还需要在树上打印它。这可能吗?

1 个答案:

答案 0 :(得分: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,每次调用该方法时都不需要创建新的JLabel。