1

我有一个树节点。我希望在查看树时在节点名称旁边显示图像。我该怎么办?

4

2 回答 2

1
  1. 从您的图像创建一个 ImageIcon

    ImageIcon 图标 = ....; (有很多方法可以做到这一点

  2. 创建 DefaultTreeCellRenderer 的实例

    DefaultTreeCellRenderer 渲染器 = new DefaultTreeCellRenderer();

  3. 设置渲染器的叶子图标字段

    renderer.setLeafIcon(icon);

  4. 设置树的渲染器

    tree.setCellRenderer(渲染器);

如果您无法弄清楚,请尝试演示

于 2009-11-09T07:02:32.150 回答
0

您可以使用自定义叶子渲染器。重写 getTreeCEllRendererComponent () 方法。

当你渲染一个组件时。

使用面板并将文本放在首位,然后将图标放在文本后面。

然后返回组件。

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


    JLabel l = (JLabel)renderer.getTreeCellRendererComponent(
            tree, "", true, expanded, leaf, row, true);
    Component com = renderer.getTreeCellRendererComponent(
            tree, "", true, expanded, leaf, row, true);
    l.setIcon(YOUR_IMAGE);
    l.setText(value.toString());



        panel.removeAll();
        panel.add(this, BorderLayout.EAST);
        panel.add(j);
        return panel;



}
于 2012-01-27T04:05:24.047 回答