将不同的图标分配给 JTree 中的不同节点

发布于 2024-12-01 20:38:26 字数 104 浏览 1 评论 0原文

是否可以使用 DefaultTreeCellRenderer.setOpenIcon() 将不同的图标分配给 JTree 中的不同节点?谢谢。

Is it possible to assign different icons to different nodes in a JTree using DefaultTreeCellRenderer.setOpenIcon()? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

预谋 2024-12-08 20:38:26

相同的单元渲染器实例用于渲染树的所有单元。打开图标是每个树节点左侧的小+符号或三角形符号,允许展开它(即查看其子节点)。我怀疑这是您要更改的图标。如果不对所有节点使用同一个节点,那就太奇怪了。

如果要为特定节点显示自定义图标,请创建 DefaultTreeCellRenderer 的子类,覆盖 getTreeCellRendererComponent方法,决定使用哪个图标根据传递给该方法的值进行显示,并调用setIcon

请参阅 http://download.oracle.com/javase/tutorial/uiswing/components/tree .html#display 是一个类似的示例(自定义了工具提示,而不是图标,但想法是相同的)。

The same cell renderer instance is used to render all the cells of the tree. The open icon is the little + symbol, or triangle symbol at the left of every tree node which allows to expand it (i.e. see its child nodes). I doubt this is the icon you want to change. It would be rather strange not to use the same one for all the nodes.

If you want to display a custom icon for a specific node, create a subclass of DefaultTreeCellRenderer, override the getTreeCellRendererComponent method, decide which icon to display based on the value passed to the method, and call setIcon.

See http://download.oracle.com/javase/tutorial/uiswing/components/tree.html#display for a similar example (which customized the tooltip, and not the icon, but the idea is the same).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文