图像与 Java 树节点对象的关联
我有一个树节点。我希望在查看树时在节点名称旁边显示图像。我该怎么办?
I have a Tree node. I want an image to be displayed beside the node name when the tree is viewed. How do I go about?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从您的图像创建一个 ImageIcon
ImageIcon 图标 = ....;
(有多种方法可以做到这一点)
创建 DefaultTreeCellRenderer 的实例
DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();
设置渲染器的叶子图标字段
renderer.setLeafIcon(icon);
设置树的渲染器
tree.setCellRenderer(renderer);
如果您无法弄清楚,请尝试演示
create an ImageIcon from your image
ImageIcon icon = ....;
(there are a number of ways to do this)
create an instance of DefaultTreeCellRenderer
DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();
set the leaf icon field of the renderer
renderer.setLeafIcon(icon);
set the tree's renderer
tree.setCellRenderer(renderer);
if you can't figure it out try the demo
您可以使用自定义叶子渲染器。
重写 getTreeCEllRendererComponent() 方法。
当你渲染一个组件时。
使用面板并将文本放在前面,然后将图标放在文本后面。
然后返回组件。
You can use a custom leaf renderer .
Override the getTreeCEllRendererComponent () method.
When you render a component .
Use a panel and put the text first and the icon folliwng the text .
And then return the component.