1 /* 2 * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 package javax.swing; 26 27 /** 28 * A mutable version of <code>ComboBoxModel</code>. 29 * 30 * @param <E> the type of the elements of this model 31 * 32 * @author Tom Santos 33 * @since 1.2 34 */ 35 36 public interface MutableComboBoxModel<E> extends ComboBoxModel<E> { 37 38 /** 39 * Adds an item at the end of the model. The implementation of this method 40 * should notify all registered <code>ListDataListener</code>s that the 41 * item has been added. 42 * 43 * @param item the item to be added 44 */ 45 public void addElement( E item ); 46 47 /** 48 * Removes an item from the model. The implementation of this method should 49 * should notify all registered <code>ListDataListener</code>s that the 50 * item has been removed. 51 * 52 * @param obj the <code>Object</code> to be removed 53 */ 54 public void removeElement( Object obj ); 55 56 /** 57 * Adds an item at a specific index. The implementation of this method 58 * should notify all registered <code>ListDataListener</code>s that the 59 * item has been added. 60 * 61 * @param item the item to be added 62 * @param index location to add the object 63 */ 64 public void insertElementAt( E item, int index ); 65 66 /** 67 * Removes an item at a specific index. The implementation of this method 68 * should notify all registered <code>ListDataListener</code>s that the 69 * item has been removed. 70 * 71 * @param index location of the item to be removed 72 */ 73 public void removeElementAt( int index ); 74 }