我有一个Tree节点。我希望在查看树时,在节点名称旁边显示一个图像。我该怎么办?
答案 0 :(得分:1)
从您的图片中创建一个ImageIcon
ImageIcon icon = ....; (there are a number of ways to do this)
创建DefaultTreeCellRenderer的实例
DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();
设置渲染器的叶图标字段
renderer.setLeafIcon(图标);
设置树的渲染器
tree.setCellRenderer(渲染);
答案 1 :(得分: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;
}