我有一个树节点。我希望在查看树时在节点名称旁边显示图像。我该怎么办?
问问题
1459 次
2 回答
1
从您的图像创建一个 ImageIcon
ImageIcon 图标 = ....; (有很多方法可以做到这一点)
创建 DefaultTreeCellRenderer 的实例
DefaultTreeCellRenderer 渲染器 = new DefaultTreeCellRenderer();
设置渲染器的叶子图标字段
renderer.setLeafIcon(icon);
设置树的渲染器
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 回答