package gitj.ui.components;
import java.awt.Color;
import java.awt.Component;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JLabel;
import javax.swing.JList;
@SuppressWarnings("serial")
public class JFileList extends JList<JFileListEntry> {
public JFileList() {
setCellRenderer(new JFileListRenderer());
setFixedCellHeight(25);
}
@SuppressWarnings("rawtypes")
public class JFileListRenderer extends DefaultListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
Object obj = value;
if (obj instanceof JFileListEntry) {
JFileListEntry entry = (JFileListEntry) obj;
JLabel label = (JLabel) super.getListCellRendererComponent(list, entry.getText(), index, isSelected, cellHasFocus);;
label.setIcon(entry.getIcon());
label.setForeground(Color.black);
if (isSelected) {
label.setBackground(new Color(191, 205, 219));
} else {
label.setBackground(Color.white);
}
return label;
}
return null;
}
}
}