package com.vci.client.workflow.template; import java.awt.Component; import javax.swing.JTree; import javax.swing.ToolTipManager; import javax.swing.tree.DefaultTreeCellRenderer; import com.vci.client.ui.image.BundleImage; import com.vci.client.ui.tree.VCIBaseTreeNode; import com.vci.client.workflow.template.object.ProcessCategoryObject; import com.vci.client.workflow.template.object.ProcessDefinitionObject; public class ProcessCategoryTreeCellRender extends DefaultTreeCellRenderer { private static final long serialVersionUID = 442637362959025390L; private BundleImage bundleImage = new BundleImage(); 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); try { ToolTipManager.sharedInstance().registerComponent(tree); VCIBaseTreeNode node = (VCIBaseTreeNode)value; if(node.getObj() instanceof String){ this.setIcon(bundleImage.createImageIcon("process.gif")); } else if(node.getObj() instanceof ProcessCategoryObject){ //String icon = ((ProcessCategoryObject)node.getObj()).getIcon(); String icon = "folder.png"; this.setIcon(bundleImage.createImageIcon(icon)); } else if(node.getObj() instanceof ProcessDefinitionObject){ this.setIcon(bundleImage.createImageIcon("process.png")); } } catch (Exception e) { e.printStackTrace(); } return this; } }