IndexOutOfBoundsException: Source does not fit in dest beim Kopieren von ArrayList in Vector

nieselfriem

Bekanntes Mitglied
Hallo!

Allgemein verwende ich gerne ArrayListen. Da aber die JComboBox nur Vectoren annimmt und keine ArrayListen, muss ich die vorhandene ArrayList in einen Vector umwandeln
Java:
 ArrayList<Item> itemList= new ArrayList<Item>();
itemList.add(new Item(1, "Dachdecker" ));
itemList.add(new Item(33, "Tischler" ));
itemList.add(new Item(55, "Maurer" ));
itemList.add(new Item(12, "Koch" ));
itemList.add(new Item(54, "Maler" ));
Vector<Item> model = new Vector<Item>(itemList.size());
Collections.copy(model,itemList);//Fehler
Aber ihr kommt es zur Fehlermeldung
Code:
IndexOutOfBoundsException: Source does not fit in dest
Der Vector ist zu klein?
Wie kann das Problem behoben werden?

Gruß niesel
 
Lasse das copy weg und versuche es einfach mal mit
Java:
Vector<Item> model = new Vector<Item>(itemList);

das sollte bei dir reichen. Btw, mit einem eigenen ListModel sollte es mit ArrayList und Combobox auch keine Probleme geben !
 
Zuletzt bearbeitet:
Versteh ich nicht. Ich möcht ja kein Vector mit Integerwerten, sondern den Pendant der ArrayList. Nebenbei funktioniert der Kodeschnipsel leider nicht.
Trotzdem Danke!
 
War natürlich nur ein Copy-Paste-Fehler, sollte natürlich <Item> heißen! Und was daran funktioniert jetzt nicht?
Jedenfalls zu deinem Fehler: bei copy muss die tatsächliche Größe stimmen, nicht nur die initialCapacity! Und da dein Vector eben die Größe 0 hat, krachts.Was du suchst ist evtl. [c]model.addAll(itemList);[/c] ??
 
Zuletzt bearbeitet:
Code:
War natürlich nur ein Copy-Paste-Fehler, sollte natürlich <Item> heißen!
Es sei Dir verziehen!! 😉
Ich hätte ja aber auch mal selber Item einfügen können. Aber Danke nun funzt es.

Dankeschön!
 

Neue Themen


Zurück
Oben