Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaswing中的JTree组件_Swing_Icons_Jtree - Fatal编程技术网

javaswing中的JTree组件

javaswing中的JTree组件,swing,icons,jtree,Swing,Icons,Jtree,如何使用setClosedIcon、setOpenIcon和setLeafIcon更改Swing的JTree组件中节点和根的图标 抄袭自: Sun在JTree上有一节介绍如何对TreeCellRenderer进行子类化,以获取JTree中的节点和文本。如果您所要做的只是为关闭的节点、叶节点和打开的节点使用不同的图标,那么这是非常简单的 //创建3个图标 私有图标customOpenIcon=新图像图标(“images/my_open.gif”); 私有图标customClosedIcon=新图像

如何使用
setClosedIcon
setOpenIcon
setLeafIcon
更改Swing的
JTree
组件中节点和根的图标

抄袭自:


Sun在JTree上有一节介绍如何对TreeCellRenderer进行子类化,以获取JTree中的节点和文本。

如果您所要做的只是为关闭的节点、叶节点和打开的节点使用不同的图标,那么这是非常简单的

//创建3个图标 私有图标customOpenIcon=新图像图标(“images/my_open.gif”); 私有图标customClosedIcon=新图像图标(“images/my_closed.gif”); 私有图标CustomLeaf图标=新图像图标(“images/my_leaf.gif”)

//假设您创建了DefaultMutableTreeNode层次结构 DefaultMutableTreeNode根节点=新建。。。 ... JTree树=新的JTree(rootNode)


我尝试使用DefautTreeCellRenderer,但我的类没有重新指定它,我使用的是Eclipse3.2
ImageIcon leafIcon = createImageIcon("images/middle.gif");
if (leafIcon != null) {
    DefaultTreeCellRenderer renderer = 
    new DefaultTreeCellRenderer();
    renderer.setLeafIcon(leafIcon);
    tree.setCellRenderer(renderer);
}
DefaultTreeCellRenderer customRenderer = new DefaultTreeCellRenderer();
customRenderer.setOpenIcon(customOpenIcon);
customRenderer.setClosedIcon(customClosedIcon);
customRenderer.setLeafIcon(customLeafIcon);
tree.setCellRenderer(customRenderer );