001    package com.github.sarxos.webcam;
002    
003    import java.util.List;
004    
005    import javax.swing.DefaultComboBoxModel;
006    
007    
008    public class WebcamPickerModel extends DefaultComboBoxModel {
009    
010            private static final long serialVersionUID = 1L;
011    
012            public WebcamPickerModel(List<Webcam> webcams) {
013                    super(webcams.toArray(new Webcam[webcams.size()]));
014            }
015    
016            @Override
017            public Webcam getSelectedItem() {
018                    return (Webcam) super.getSelectedItem();
019            }
020    
021            @Override
022            public void setSelectedItem(Object webcam) {
023                    if (!(webcam instanceof Webcam)) {
024                            throw new IllegalArgumentException("Selected object has to be an Webcam instance");
025                    }
026                    super.setSelectedItem(webcam);
027            }
028    }