ArrayList<String> to Combobox

darkeye2

Bekanntes Mitglied
Hallo, nach vergeblichen suchen und ausprobieren stell ich nun doch die frage hier im forum.
Ich hab eine Arraylist:
Java:
ArrayList<String> TitelList, InterpretList, AlbumList, JahrList, GenreList;
sind halt mehrere ^^
Java:
TitelList = new ArrayList<String>();
			InterpretList = new ArrayList<String>();
			AlbumList = new ArrayList<String>();
			JahrList = new ArrayList<String>();
			GenreList = new ArrayList<String>();

und diese Arrays will ich nun in Comboboxen verteilen, bisscher leider ohne erfolg, mein erster versuch sah so aus:
Java:
CBox.addItem(TitelList);
das führte zum ergebniss, dass alles einfach als ein string eingefügt wurde ... also in der box sah das so aus, nur ein eintrag:
[inhalt1, inahlt2, inhalt3, ...]
aber ich will, das a lles nacheinander, also als einzelne elemente einsortiert werden soll, wie kriege ich das hin?
 
aber mit ner for schleife und
CBox.addItem(TitelList);
kann man es auch net machen, da es dann, komischer weise fehler (wird in eclipse rot unterringelt)
wie genau soll man das machen?
 
du holst dir einen iterator der enssprechenden liste, läufst diesen durch und addest jedes element der liste

Java:
Iterator iterator = TitelList.iterator();     
    while (iterator.hasNext()){
      CBox.addItem(iterator.next());  
   }
 
Mit
[c]CBox.addItem(TitelList.get(i));[/c]
würde es vielleicht gehen. Eine Alternative könnte sein, ein eigenes ListModel zu schreiben, das intern die ArrayList enthält...
 
Danke, hat funktioniert, nun hab ich aber ein neues problem, ich habe einen ItemListener drangehängt, nun leider löst er das event auch aus, wenn die box neu befüllt wird, was zu einem fehler führt, wie kann ich es machen, das beim neubefüllen der combobox das event nicht ausgelöst wird.
 
Vielleicht reicht es, vorher die Selektion zu entfernen:
Java:
comboBox.setSelectedItem(null);

Ebenius
 

Neue Themen


Zurück
Oben