【问题标题】:Adding custom property to JTree and also print it将自定义属性添加到 JTree 并打印它
【发布时间】:2013-03-30 19:27:50
【问题描述】:

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

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

【问题讨论】:

  • DefaultMutableTreeNode 采用“用户对象”(它用作呈现节点的默认值)。您最好的选择是创建一个简单的 Property 对象并应用于每个节点

标签: java swing jtree


【解决方案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,无需在每次调用该方法时都创建一个新的。

【讨论】:

  • 对于example。您可能会引用打印教程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-23
  • 1970-01-01
  • 2023-01-16
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
相关资源
最近更新 更多