package com.vci.client.omd.linktype;
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.ltm.LinkType;
public class LTTreeCellRenderer extends DefaultTreeCellRenderer{
/**
*
*/
private static final long serialVersionUID = 998267915192603262L;
/**
* Configures the renderer based on the passed in components.
* The value is set from messaging the tree with
* convertValueToText
, which ultimately invokes
* toString
on value
.
* The foreground color is set based on the selection and the icon
* is set based on the leaf
and expanded
* parameters.
*/
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 LinkTypeWrapper){
LinkType linkType = ((LinkTypeWrapper)node.getUserObject()).linkType;
if (linkType == null)
icon = "folder.png";
else
icon = "link.png";
}
}
else
icon = "house.png";
}
setIcon(VCISwingUtil.createImageIcon(icon));
} catch (Exception e) {
e.printStackTrace();
}
return this;
}
}