1 6 21 22 package de.schlichtherle.io.swing.tree; 23 24 import de.schlichtherle.io.swing.FileSystemView; 25 import de.schlichtherle.io.swing.JFileTree; 26 27 import java.awt.Component ; 28 import javax.swing.Icon ; 29 import javax.swing.JTree ; 30 import javax.swing.tree.DefaultTreeCellRenderer ; 31 32 41 public class FileTreeCellRenderer extends DefaultTreeCellRenderer { 42 43 private final JFileTree fileTree; 44 45 public FileTreeCellRenderer(final JFileTree fileTree) { 46 this.fileTree = fileTree; 47 } 48 49 public Icon getOpenIcon() { 50 final java.io.File node = fileTree.getEditedNode(); 58 if (node != null) 59 return FileSystemView.getFileSystemView().getSystemIcon(node); 60 else 61 return super.getOpenIcon(); 62 } 63 64 public Icon getClosedIcon() { 65 final java.io.File node = fileTree.getEditedNode(); 73 if (node != null) 74 return FileSystemView.getFileSystemView().getSystemIcon(node); 75 else 76 return super.getClosedIcon(); 77 } 78 79 public Icon getLeafIcon() { 80 final java.io.File node = fileTree.getEditedNode(); 88 if (node != null) 89 return FileSystemView.getFileSystemView().getSystemIcon(node); 90 else 91 return super.getLeafIcon(); 92 } 93 94 public Component getTreeCellRendererComponent( 95 final JTree tree, 96 final Object value, 97 final boolean selected, 98 final boolean expanded, 99 final boolean leaf, 100 final int row, 101 final boolean hasFocus) { 102 super.getTreeCellRendererComponent( 103 tree, value, selected, expanded, leaf, row, hasFocus); 104 105 setIcon(FileSystemView.getFileSystemView().getSystemIcon((java.io.File ) value)); 106 107 return this; 108 } 109 } 110 | Popular Tags |