001 package com.github.sarxos.webcam;
002
003 import java.awt.Component;
004
005 import javax.swing.ImageIcon;
006 import javax.swing.JLabel;
007 import javax.swing.JList;
008 import javax.swing.ListCellRenderer;
009
010
011 public class WebcamPickerCellRenderer extends JLabel implements ListCellRenderer {
012
013 private static final long serialVersionUID = 1L;
014
015 private static final ImageIcon ICON = new ImageIcon(WebcamPickerCellRenderer.class.getResource("/com/github/sarxos/webcam/icons/camera-icon.png"));
016
017 public WebcamPickerCellRenderer() {
018 setOpaque(true);
019 setHorizontalAlignment(LEFT);
020 setVerticalAlignment(CENTER);
021 setIcon(ICON);
022 }
023
024 @Override
025 public Component getListCellRendererComponent(JList list, Object value, int i, boolean selected, boolean focused) {
026
027 Webcam webcam = (Webcam) value;
028
029 if (selected) {
030 setBackground(list.getSelectionBackground());
031 setForeground(list.getSelectionForeground());
032 } else {
033 setBackground(list.getBackground());
034 setForeground(list.getForeground());
035 }
036
037 setText(webcam.getName());
038 setFont(list.getFont());
039
040 return this;
041 }
042
043 }