package moviescraper.doctord.view.renderer;
import java.awt.Component;
import java.io.File;
import java.io.IOException;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import moviescraper.doctord.model.IconCache;
public class FileRenderer extends DefaultListCellRenderer {
/**
*
*/
private static final long serialVersionUID = 1L;
private boolean pad;
private Border padBorder = new EmptyBorder(3, 3, 3, 3);
public FileRenderer(boolean pad) {
this.pad = pad;
}
@Override
public Component getListCellRendererComponent(JList<?> list,
Object value, int index, boolean isSelected,
boolean cellHasFocus) {
Component c = super.getListCellRendererComponent(list, value,
index, isSelected, cellHasFocus);
JLabel l = (JLabel) c;
File f = (File) value;
l.setText(f.getName());
try {
l.setIcon(IconCache.getIconFromCache(f));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//System.out.println("Setting Icon at " + System.currentTimeMillis());
//l.setIcon(FileSystemView.getFileSystemView().getSystemIcon(f));
if (pad) {
l.setBorder(padBorder);
}
return l;
}
}