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 |
/** |
/** |
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 |
/** |
/** |
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 |
/** |
/** |
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 |
|
|
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 |
/** |
/** |
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 |
/** |
/** |
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 |
|
|