# die Liste der Elemente aus einer JComboBox auslesen



## Tracer7 (13. Dez 2006)

Hallo Leute,

ich habe eine JComboBox bei der die Liste dynamisch erzeugt wird.
Deswegen weiß ich an einer Stelle nicht explizit welche Werte in der Liste
enthalten sind. Mit Liste meine ich die Elemente der JComboBox, die 
man bei ihr auswählen kann.
Wie kann ich nun die Liste in der ComboBox auslesen ?
Ich finde keine Methode dazu im API.
Es gibt nur eine getItemAt() Methode, mit der man nur das ausgewählte 
Element bekommen kann.
Auch im Interface ComboBoxModel gibt es nur diese Methode.

Wie kann ich aber alle Elemente einer JComboBox bekommen.    

danke Tracer7


----------



## The_S (13. Dez 2006)

So spontan hät ich gesagt du holst dir die Anzahl der Elemente (getItemCount) und addest dann jedes Element einer Liste.


----------



## SlaterB (13. Dez 2006)

getSelectedItem() liefert "nur das ausgewählte Element"
getItemAt(index) doch offensichtlich einzeln alle Elemente?

an alle Elemente scheint man auch über das DefaultComboBoxModel
nicht in einem Schritt ranzukommen

(edit: ok, beim Model warst du auch schon, dann nicht viele neue Information  )


----------



## Azrahel (13. Dez 2006)

Ne in einem Schritt geht das nicht, musste schon in nem Schleifchen durchlaufen.


----------



## Tracer7 (13. Dez 2006)

Ok, danke mit der Schleife geht es.

Hier die Lösung falls es jemand interessiert:

                String[] liste = { "0","1","2","3","4"};
		JComboBox jcb = new JComboBox(liste);

                String text = "";

		int anzahl = jcb.getItemCount();		
		for (int i = 1; i<anzahl; i++)
		       {
			text = text + jcb.getItemAt(i);
           		}
		System.out.println(text);



Dann sind in text alle Elemente der ComboBox.

Mit einem Array würde es dann so aussehen:

int anzahl = jcb.getItemCount();		
		String [] text2 = new String[jcb.getItemCount()];
		for (int i = 1; i<anzahl; i++)
		{
			text2[i-1] = (String)jcb.getItemAt(i);
		}


----------



## The_S (13. Dez 2006)

nein, das ist falsch. Auch die Nummerierung der Items in einer JComboBox beginnt mit 0.


----------



## Tracer7 (14. Dez 2006)

Ja das  stimmt, dass ich das erste Elemete wird mit der 0 Referenziert.
Ich brauche das erste Element nicht, da es immer gleich ist.
Deswegen habe ich mit 1 angefangen.

Hier ist noch mal der Code

 String[] liste = { "0","1","2","3","4"};
JComboBox jcb = new JComboBox(liste);

String text = "";

int anzahl = jcb.getItemCount();
for (int i = 0; i<anzahl; i++)
{
text = text + jcb.getItemAt(i);
}
System.out.println(text);



Dann sind in text alle Elemente der ComboBox enthalten.

Mit einem Array würde es dann so aussehen:

int anzahl = jcb.getItemCount();
String [] text2 = new String[jcb.getItemCount()];
for (int i = 0; i<anzahl; i++)
{
text2_ = (String)jcb.getItemAt(i);
}_


----------

