package org.incha.ui;
import java.awt.Component;
import java.io.File;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import org.incha.core.JavaProject;
import org.incha.ui.jripples.JRipplesResources;
public class ProjectsTreeCellRenderer extends DefaultTreeCellRenderer {
private static final long serialVersionUID = -3335596024920805565L;
private final ImageIcon folderIcon;
private final Icon jarIcon;
/**
* Default constructor.
*/
public ProjectsTreeCellRenderer() {
super();
this.folderIcon = new ImageIcon(JRipplesResources.getImage("icons/projects/folder.gif"));
this.jarIcon = new ImageIcon(JRipplesResources.getImage("icons/projects/jar.gif"));
}
/* (non-Javadoc)
* @see javax.swing.tree.DefaultTreeCellRenderer#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)
*/
@Override
public Component getTreeCellRendererComponent(final JTree tree, final Object value,
final boolean sel, final boolean expanded, final boolean leaf, final int row,
final boolean hasFocus) {
final JLabel label = (JLabel) super.getTreeCellRendererComponent(
tree, value, sel, expanded, leaf, row, hasFocus);
final DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
if (node.getUserObject() instanceof File) {
final File f = (File) node.getUserObject();
label.setIcon(f.isDirectory() ? folderIcon : jarIcon);
} else if (node.getUserObject() instanceof JavaProject) {
label.setText(((JavaProject) node.getUserObject()).getName());
}
return label;
}
}