1 19 20 package org.lucane.applications.sharedfolder.gui; 21 22 import org.lucane.applications.sharedfolder.model.FolderInfo; 23 import org.lucane.applications.sharedfolder.SharedFolderPlugin; 24 25 import javax.swing.*; 26 import javax.swing.tree.DefaultTreeCellRenderer ; 27 import java.awt.*; 28 29 public class FolderTreeRenderer extends DefaultTreeCellRenderer 30 { 31 private ImageIcon folderIcon; 32 private String rootLabel; 33 34 public FolderTreeRenderer(SharedFolderPlugin plugin) 35 { 36 this.folderIcon = plugin.getImageIcon("folder.png"); 37 this.rootLabel = plugin.tr("folder.root"); 38 } 39 40 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, 41 boolean expanded, boolean leaf, int row, boolean hasFocus) 42 { 43 Component cmp = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); 44 JLabel label = (JLabel)cmp; 45 46 FolderInfo item = (FolderInfo)value; 47 if(item.getId() == FolderInfo.ROOT_ID) 48 label.setText(rootLabel); 49 else 50 label.setText(item.getName()); 51 52 label.setIcon(folderIcon); 53 54 if(item.isWritable()) 55 label.setForeground(Color.BLUE); 56 else if(item.isReadable()) 57 label.setForeground(Color.BLACK); 58 else 59 label.setForeground(Color.GRAY); 60 61 return label; 62 } 63 } | Popular Tags |