package org.Algy.frames;
import java.awt.Color;
import java.awt.Component;
import javax.swing.ImageIcon;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.TreeCellRenderer;
public class MyTreeNodeRenderer extends DefaultTreeCellRenderer{
private static final long serialVersionUID = -8877587742169797255L;
private ImageIcon iconFolderClosed = new ImageIcon("statics/closed-folder.png");
private ImageIcon iconFolderOpen= new ImageIcon("statics/open-folder.png");
private ImageIcon iconJavaClass= new ImageIcon("statics/java-class.png");
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
// setBackgroundSelectionColor(new Color(0.9f, 0.7f, 0.0f, 0.2f));
// setBorderSelectionColor(new Color(1f,1f,0.2f,1f));
MyTreeNode node = (MyTreeNode)value;
switch(node.getType())
{
case MyTreeNode.TREENODE_CLASS:
setIcon(iconJavaClass);
break;
case MyTreeNode.TREENODE_INNERCLASS:
setIcon(iconJavaClass);
break;
case MyTreeNode.TREENODE_PACKAGE:
if(expanded)
setIcon(iconFolderOpen);
else
setIcon(iconFolderClosed);
break;
}
return this;
}
}