在封装Javax Swing的Tree对象时,需要为其每个节点设置不同的图标。故封装了一个公共方法:
/**
* 为每个节点设置不同的图标,根据节点级别设置或根据节点文字设置
* 该类在PhoenixView中的JTree1,JTree2,JTree3中得到实例化
* 编写时间:2013年9月29日 18:11
* @version 1.0
* @author mengfeiyang
* @since JDK 1.7及以上
*/
public class TreeNodeRender extends DefaultTreeCellRenderer {
private static final long serialVersionUID = 1L;
private List
ImageList = new ArrayList
();
/**
* 为每个节点设置不同的图标,根据节点级别设置或根据节点文字设置
* 该类在PhoenixView中的JTree1,JTree2,JTree3中得到实例化
*
编写时间:2013年9月29日 18:11
* @version 1.0
* @author mengfeiyang
* @since JDK 1.7及以上
*/
public TreeNodeRender(List
ImageList){
this.ImageList = ImageList;
}
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean sel, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf,
row, hasFocus);
DefaultMutableTreeNode node=(DefaultMutableTreeNode)value;
tree.setToolTipText(node.toString());
for(int i=0;i
使用方法:
jTree1.setCellRenderer(new TreeNodeRender(casesIcon));
需要注意的是caseIcon为一个List<ImageIcon>对象.
示例如图,传入了3个ImageIcon对象,按节点层级放置:
![]()
![](https://img-blog.csdn.net/20140725173013409?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpeWFuZzEyM18=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)