filebot/source/net/filebot/ui/analyze/FileTreeCellRenderer.java

47 lines
1.1 KiB
Java

package net.filebot.ui.analyze;
import java.awt.Component;
import javax.swing.JTree;
import javax.swing.tree.TreeNode;
import net.filebot.ResourceManager;
import net.filebot.util.ui.FancyTreeCellRenderer;
import net.filebot.util.ui.GradientStyle;
public class FileTreeCellRenderer extends FancyTreeCellRenderer {
public FileTreeCellRenderer() {
super(GradientStyle.TOP_TO_BOTTOM);
openIcon = ResourceManager.getIcon("tree.open");
closedIcon = ResourceManager.getIcon("tree.closed");
leafIcon = ResourceManager.getIcon("tree.leaf");
}
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
if (leaf && isFolder(value)) {
// make leafs that are empty folders look like expanded nodes
expanded = true;
leaf = false;
}
super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
return this;
}
private boolean isFolder(Object value) {
if (((TreeNode) value).getAllowsChildren())
return true;
return false;
}
}