private class TreeRendererSelector extends DefaultTreeCellRenderer {
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
// decide which renderer to use - or use the default.
TreeCellRenderer renderer = (TreeCellRenderer) renderers.get(value
.getClass());
Component rendererComponent = null;
if (renderer != null) {
rendererComponent = renderer.getTreeCellRendererComponent(tree,
value, selected, expanded, leaf, row, hasFocus);
} else {
rendererComponent = super.getTreeCellRendererComponent(tree,
value, selected, expanded, leaf, row, hasFocus);
}