package com.vci.client.omd.lifecycle.ui; import java.awt.Component; import javax.swing.JTree; import javax.swing.ToolTipManager; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; import com.vci.client.ui.swing.VCISwingUtil; import com.vci.corba.omd.lcm.LifeCycle; public class LifeCycleTreeCellRenderer extends DefaultTreeCellRenderer { /** * */ private static final long serialVersionUID = 1L; 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); DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; String icon = ""; if(node == null || (node != null && node.getUserObject() == null)) { icon = "house.png"; } else { if (node.isRoot()) icon = "folder.png"; else if (node.getUserObject() != null){ Object obj = node.getUserObject(); if (obj instanceof LifeCycleWrapper){ LifeCycle lc = ((LifeCycleWrapper)node.getUserObject()).getLC(); if (lc == null) icon = "object.png"; else icon = "lifeCycle.png"; } else if (obj instanceof LifeCycle){ LifeCycle lc = ((LifeCycle)node.getUserObject()); if (lc == null) icon = "object.png"; else icon = "lifeCycle.png"; } else { if (node.isLeaf()){ icon = "file.png"; }else{ icon = "lifeCycle.png"; } } } else icon = "house.png"; } setIcon(VCISwingUtil.createImageIcon(icon)); } catch (Exception e) { e.printStackTrace(); } return this; } }