/[classpath]/classpath/javax/swing/DefaultComboBoxModel.java
ViewVC logotype

Diff of /classpath/javax/swing/DefaultComboBoxModel.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by rabbit78, Wed Jul 27 12:41:33 2005 UTC revision 1.11 by trebligd, Fri Sep 23 16:24:27 2005 UTC
# Line 85  public class DefaultComboBoxModel extend Line 85  public class DefaultComboBoxModel extend
85    public DefaultComboBoxModel(Object[] items)    public DefaultComboBoxModel(Object[] items)
86    {    {
87      list = new Vector(Arrays.asList(items));      list = new Vector(Arrays.asList(items));
88        if (list.size() > 0)
89          selectedItem = list.get(0);
90    }    }
91    
92    /**    /**
# Line 96  public class DefaultComboBoxModel extend Line 98  public class DefaultComboBoxModel extend
98    public DefaultComboBoxModel(Vector vector)    public DefaultComboBoxModel(Vector vector)
99    {    {
100      this.list = vector;      this.list = vector;
101        if (vector.size() > 0)
102          selectedItem = vector.get(0);
103    }    }
104    
105    /**    /**
# Line 107  public class DefaultComboBoxModel extend Line 111  public class DefaultComboBoxModel extend
111     */     */
112    public void addElement(Object object)    public void addElement(Object object)
113    {    {
114      list.add(object);      if (list.size() == 0)
115      fireIntervalAdded(this, list.size() - 1, list.size());        {
116            list.add(object);
117            selectedItem = object;
118            fireContentsChanged(this, -1, -1);
119          }
120        else
121          {
122            list.add(object);
123            fireIntervalAdded(this, list.size() - 1, list.size() - 1);
124          }
125    }    }
126    
127    /**    /**
# Line 122  public class DefaultComboBoxModel extend Line 135  public class DefaultComboBoxModel extend
135     */     */
136    public void removeElementAt(int index)    public void removeElementAt(int index)
137    {    {
138        int selected = getIndexOf(selectedItem);
139      list.remove(index);      list.remove(index);
140        if (selected == index) // choose a new selected item
141          {
142            if (selected > 0)
143              selectedItem = getElementAt(selected - 1);
144            else
145              selectedItem = getElementAt(selected);
146                
147              
148          }
149      fireIntervalRemoved(this, index, index);      fireIntervalRemoved(this, index, index);
150    }    }
151    
# Line 163  public class DefaultComboBoxModel extend Line 186  public class DefaultComboBoxModel extend
186     */     */
187    public void removeAllElements()    public void removeAllElements()
188    {    {
189      list.clear();      selectedItem = null;
190      int listSize = getSize();      int size = getSize();
191      fireIntervalAdded(this, 0, listSize);      if (size > 0)
192          {
193            list.clear();
194            fireIntervalRemoved(this, 0, size - 1);
195          }
196    }    }
197    
198    /**    /**
# Line 191  public class DefaultComboBoxModel extend Line 218  public class DefaultComboBoxModel extend
218     */     */
219    public void setSelectedItem(Object object)    public void setSelectedItem(Object object)
220    {    {
221            selectedItem = object;
222      // Updates the selected item only if the given object      if(object == null || list.contains(object))
223      // is null or in the list (this is how the JDK behaves).        fireContentsChanged(this, -1, -1);        
     if(object == null || list.contains(object)) {  
         selectedItem = object;  
         fireContentsChanged(this, -1, -1);  
     }  
           
224    }    }
225    
226    /**    /**
# Line 220  public class DefaultComboBoxModel extend Line 242  public class DefaultComboBoxModel extend
242     */     */
243    public Object getElementAt(int index)    public Object getElementAt(int index)
244    {    {
245        if (index < 0 || index >= list.size())
246          return null;
247      return list.elementAt(index);      return list.elementAt(index);
248    }    }
249    

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26