Jcombobox aktualisieren

Lord_Aratorn

Mitglied
Hi, ich schreibe grade an einer Swingoberfläche und nun habe ich folgendes Problem

Ich mochte gerne aus einem Verzeichniss alle Dateinamen auslesen und anschließend diese als Auswahl in der Combobox stehen haben.

Laut den Ausgaben die ich habe, sind auch alle Elemente in der Combobox, aber es wird die grafische Oberfläche nicht aktualisiert.

Hier der Quelltext:
Code:
File f = new File("./ordner"); 	
File[] fileArray = f.listFiles();
	String[] filenames = new String[30];
	for (int i = 0; i < fileArray.length; i++) {
		filenames[i] = fileArray[i].getName();
		System.out.println(filenames[i]);
		jcb.addItem(filenames);
		System.out.println(jcb.getItemCount()); //testweise gibt 1 \n 2 aus
		frame.repaint(); //testweise
    }
 
Moin,

Du wendest repaint() auf Deinen Frame an, nicht aber auf die dazugehörige Komponente - nämlich die JComboBox.
Deshalb solltest Du schon die Komponente neuzeichnen.
Oder Du nutzt gegebenfalls ein Model für die ComboBox.
Dieses aktualisiert automatisch, sobald ein Eintrag hinzugefügt bzw. entfernt wird.

Gruß,
Xan
 
danke erstmal. Aber selbst wenn ich zwischen
"System.out.println(jcb.getItemCount());" und "frame.repaint(); "
ein "jcb.repaint();" packe. Funktioniert es nicht.
 
Zurück