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 }