/** * @see javax.swing.MutableComboBoxModel#insertElementAt(java.lang.Object, int) */ public void insertElementAt(Object item, int idx) { m_items.add(idx, item); fireDataEvent(this,ListDataEvent.INTERVAL_ADDED,idx,idx); }
/** * @see javax.swing.MutableComboBoxModel#addElement(java.lang.Object) */ public void addElement(Object item) { m_items.add(item); int sz = m_items.size()-1; fireDataEvent(this,ListDataEvent.INTERVAL_ADDED,sz,sz); if ( sz >= 0 && isSelectionEmpty() && item != null ) setSelectedItem(item); }
/** * @see javax.swing.MutableComboBoxModel#removeElementAt(int) */ public void removeElementAt(int idx) { if ( !isMultipleSelection() && idx == getMinSelectionIndex() ) { int sIdx = ( idx==0 ? getSize()==1 ? -1 : idx+1 : idx-1 ); Object sel = ( sIdx == -1 ? null : m_items.get(sIdx) ); setSelectedItem(sel); } m_items.remove(idx); fireDataEvent(this,ListDataEvent.INTERVAL_REMOVED,idx,idx); }
/** * @see javax.swing.ComboBoxModel#setSelectedItem(java.lang.Object) */ public void setSelectedItem(Object item) { int idx = m_items.indexOf(item); if ( idx < 0 ) return; if ( !isMultipleSelection() && idx == getMinSelectionIndex() ) return; super.setSelectionInterval(idx,idx); fireDataEvent(this,ListDataEvent.CONTENTS_CHANGED,-1,-1); }