package moviescraper.doctord.view.renderer;
import java.awt.Color;
import java.awt.Component;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
import org.imgscalr.Scalr;
import org.imgscalr.Scalr.Method;
import moviescraper.doctord.model.dataitem.Thumb;
public class FanartPickerRenderer extends JLabel implements ListCellRenderer<Thumb> {
/**
*
*/
private static final long serialVersionUID = 1L;
private static final Color HIGHLIGHT_COLOR = new Color(0, 0, 128);
public FanartPickerRenderer() {
setOpaque(true);
setIconTextGap(12);
}
@Override
public Component getListCellRendererComponent(JList<? extends Thumb> list, Thumb value,
int index, boolean isSelected, boolean cellHasFocus) {
Thumb entry = (Thumb) value;
ImageIcon currentIcon = entry.getPreviewImageIconThumbImage();
//no preview image so let's just try to resize it
if(currentIcon == null)
{
currentIcon = entry.getImageIconThumbImage();
//Image scaledImg = currentIcon.getImage().getScaledInstance(250, 250, java.awt.Image.SCALE_SMOOTH);
BufferedImage img = (BufferedImage) currentIcon.getImage();
BufferedImage scaledImage = Scalr.resize(img, Method.QUALITY, 250, 250, Scalr.OP_ANTIALIAS);
currentIcon = new ImageIcon(scaledImage);
}
setIcon(currentIcon);
if (isSelected) {
setBackground(HIGHLIGHT_COLOR);
setForeground(Color.white);
} else {
setBackground(Color.white);
setForeground(Color.black);
}
return this;
}
}