Java - JList/JListModel: Unregelmäßigkeiten bei add

Hallo,

ich habe das folgende Problem:
Ich möchte eine Art Filesystemexplorer schreiben.
Dazu will ich Daten aus einem Array in einer JList grafisch sichtbar machen.
Wenn ich ein Element anklicke, soll sich die Liste entsprechend aktualisieren.

Code:
private DefaultListModel liFilelistModel = new DefaultListModel();

	public void addFiles(String[] files) {
		liFilelistModel.clear();
		for(int i=2;i<files.length;i++)
		{
			  if(files[i].startsWith("d")) liFilelistModel.add(i-2, files[i] + "\\"); else liFilelistModel.add(i-2, files[i]);
			  System.out.println((String)liFilelistModel.lastElement());
		}
	}

Die Liste inklusive Scrollbar wird initialisiert mit

Code:
				jScrollPane1 = new JScrollPane();
				getContentPane().add(jScrollPane1);
				jScrollPane1.setBounds(125, 122, 314, 232);
				{
					liFilelist = new JList(liFilelistModel);
					jScrollPane1.setViewportView(liFilelist);
					liFilelist.setBounds(125, 122, 314, 232);
					liFilelist.addMouseListener(new MouseAdapter() {
						public void mouseClicked(MouseEvent evt) {
							liFilelistMouseClicked(evt);
						}
					});
				}

So, nun ist es so, dass manchmal einfach nichts in die JList eingetragen wird.
Sie wird gecleart, die add Methode scheint auch zu arbeiten, da die Konsolenausgabe aus der addFiles Funktion immer korrekt ist.
Also wurde das Element richtig zum ListModel hinzugefügt, aber in der graphischen Liste werden manchmal einfach keine Elemente angezeigt.

Wenn ich den selben Ordner noch einmal anfordere geht es aber meistens, manchmal geht es auch sofort.
Ich kann den Fehler aber nicht genau reproduzieren, er tritt einfach bei ca. jedem 5. Ordner scheinbar zufällig auf.

Woran kann das liegen?
Ich bin am verzweifeln

Danke für eure Hilfe
 
Zurück
Oben