Java JTreeNode中的两个图像?
我有一些定制的JTree。该树具有带有自定义图标的节点。我还有一个类,它使用方法Java JTreeNode中的两个图像?,java,image,swing,jtree,renderer,Java,Image,Swing,Jtree,Renderer,我有一些定制的JTree。该树具有带有自定义图标的节点。我还有一个类,它使用方法gettreecellrendercomponent扩展了DefaultTreeCellRenderer,如下所示: super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); MyTreeNode node = ((MyTreeNode) value); Icon icon = node.getIcon()
gettreecellrendercomponent
扩展了DefaultTreeCellRenderer
,如下所示:
super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
MyTreeNode node = ((MyTreeNode) value);
Icon icon = node.getIcon();
setIcon(icon);
return this;
它起作用了。我的树节点将以图标文本
格式的自定义图标呈现。但是有没有办法在我的节点中放置两个图标!我希望有一个这样的节点:图标文本另一个带有图像的标签
如何做?您应该创建自己的TreeCellRenderer
,它从JPanel
之类的东西扩展而来
通过这种方式,您可以定义自己的布局需求并添加自己的组件以支持您的需求您应该创建自己的TreeCellRenderer
,它从JPanel
扩展而来
通过这种方式,您可以定义自己的布局需求并添加自己的组件以支持您的需求用于呈现树节点的默认组件是JLabel。因此,您可以访问setIcon
方法
但是,如果要为一个节点设置两个图标,则需要创建一个包含两个标签的JPanel。用于渲染树节点的默认组件是JLabel。因此,您可以访问setIcon
方法
但是如果你想为一个节点设置两个图标,你需要创建一个带有两个标签的JPanel。
(J)组件
/JLabel
(由渲染器
返回)尚未在API中实现任何布局管理器
- 右
JLabel
有文本和图标的构造函数,没有其他图标的位置
- 基本上,每个
JComponent
都是容器,部分containers
已经在API中实现了LayoutManager
(JFrame
,JPanel
),您可以将任何JComponent
放到另一个中
- 由camickr制作,尤其是复合图标
(J)组件
/JLabel
(由渲染器
返回)尚未在API中实现任何布局管理器
- 右
JLabel
有文本和图标的构造函数,没有其他图标的位置
- 基本上,每个
JComponent
都是容器,部分containers
已经在API中实现了LayoutManager
(JFrame
,JPanel
),您可以将任何JComponent
放到另一个中
- 由camickr制作,尤其是复合图标
您还可以创建一个结合了两个(或更多)其他图标的图标。例如,请参见您还可以创建一个图标,该图标组合了两个(或更多)其他图标。例如,请参见我尝试过,但是我的树(有11000个节点)太慢了!不能为每个节点创建两个图标标签,而只能为整个树创建一个图标标签。您应该了解TreeCellRenderer是如何设计的(flyweight模式)。您的意思是,就像我在所有节点中使用的“singleton标签”?
和11000个节点???
==仅将渲染器
应用于从JVievport
返回的可见矩形,这已经由Swing处理。我试过了,但是我的树(有11000个节点)太慢了!不能为每个节点创建两个图标标签,而只能为整个树创建一个图标标签。您应该了解TreeCellRenderer是如何设计的(flyweight模式)。您的意思是,就像我在所有节点中使用的“singleton标签”?和11000个节点???
==仅将渲染器
应用于从JVievport
返回的可见矩形,这已经由Swing处理。仅绘制显示的节点。