/** * */ package org.hyperdata.scute.filemanager; import java.awt.Component; import javax.swing.plaf.metal.MetalIconFactory; import java.io.File; import javax.swing.Icon; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.ListCellRenderer; /** * @author danny * */ public class ListItemRenderer extends JLabel implements ListCellRenderer { private Icon dirIcon; private Icon fileIcon; public ListItemRenderer() { super(); // dirIcon = ScuteIcons.rdfIcon; // fileIcon = ScuteIcons.sparqlIcon; // System.out.println(UIManager.get("FileChooser.directoryIcon")); // dirIcon = (Icon)UIManager.get("FileChooser.directoryIcon"); // fileIcon = (Icon)UIManager.get("FileChooser.fileIcon"); dirIcon = MetalIconFactory.getTreeFolderIcon(); fileIcon = MetalIconFactory.getTreeLeafIcon(); setOpaque(true); } /* * (non-Javadoc) * * @see * javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing * .JList, java.lang.Object, int, boolean, boolean) */ @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { File file = (File) value; setText(file.getName()); if(file.isDirectory()){ setIcon(dirIcon); }else{ setIcon(fileIcon); } if (isSelected) { setBackground(list.getSelectionBackground()); setForeground(list.getSelectionForeground()); } else { setBackground(list.getBackground()); setForeground(list.getForeground()); } // if (isSelected) { // setBackground(Color.WHITE); // setForeground(Color.DARK_GRAY); // } else { // setBackground(Color.DARK_GRAY); // setForeground(Color.WHITE); // } return this; } }