package com.vci.client.workflow.task; 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 ProcessTaskTreeCellRender extends DefaultTreeCellRenderer { 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); Object obj = ((VCIBaseTreeNode)value).getObj(); if(obj instanceof String){ this.setIcon(bundleImage.createImageIcon("usertask.gif")); } else if(obj instanceof IdName){ if(((IdName)obj).getId().equals("todotask")){ this.setIcon(bundleImage.createImageIcon("todotask.gif")); }else if(((IdName)obj).getId().equals("donetask")){ this.setIcon(bundleImage.createImageIcon("donetask.gif")); } } else if(obj instanceof IdName){ String icon = ((ProcessCategoryObject)obj).getIcon(); this.setIcon(bundleImage.createImageIcon(icon)); } else if(obj instanceof ProcessDefinitionObject){ this.setIcon(bundleImage.createImageIcon("process.png")); } } catch (Exception e) { e.printStackTrace(); } return this; } }