Moin Leuds!
Komisches Problem: Und zwar lasse ich in eine JList ( vielmehr in das Model ) Sachen eintragen die vorher mit einem Thread erstellt wurden. Danach wird automatisch der erste Eintrag ausgewählt. Funktioniert auch einwandfrei, jedoch hab ich ein merkwürdiges Phänomen: Ich kann per F2 mir nur bestimmte Sachen der JList anzeigen lassen ( nur Serien, Horror-Filme usw. ). Dazu leere ich halt erst die Liste und füge dann die Elemente wieder hinzu.
Wenn ich nun aber das erste Element der Liste aktiviert habe, und mir dann nur die Serien anzeigen lassen will, kein Problem. Wenn ich dann aber wieder alle Filme haben will ( ca. 1100 ) dann scheint die GUI zu hängen. ABER, jetzt kommt das Merkwürdige: Selektiere ich nicht den ersten Eintrag sondern z.B. den 2ten geht alles rasend schnell.
Ist das ein Bug oder hab ich irgendwo nen Fehler?
Hier mal der Code, der dir Filme einträgt:
Wie gesagt, wenn ich
mache hängts etwas, mache ich aber z.B. 3 ( wie im obigen Code ) gehts. Wenn ich z.B. überprüfe, ob vor dem setzen der neuen Movies das 1. Element selektiert ist und falls ja, dann das zweite anwähle gehts auch ohne probs:
Gruß,
VipViper2000
Komisches Problem: Und zwar lasse ich in eine JList ( vielmehr in das Model ) Sachen eintragen die vorher mit einem Thread erstellt wurden. Danach wird automatisch der erste Eintrag ausgewählt. Funktioniert auch einwandfrei, jedoch hab ich ein merkwürdiges Phänomen: Ich kann per F2 mir nur bestimmte Sachen der JList anzeigen lassen ( nur Serien, Horror-Filme usw. ). Dazu leere ich halt erst die Liste und füge dann die Elemente wieder hinzu.
Wenn ich nun aber das erste Element der Liste aktiviert habe, und mir dann nur die Serien anzeigen lassen will, kein Problem. Wenn ich dann aber wieder alle Filme haben will ( ca. 1100 ) dann scheint die GUI zu hängen. ABER, jetzt kommt das Merkwürdige: Selektiere ich nicht den ersten Eintrag sondern z.B. den 2ten geht alles rasend schnell.
Ist das ein Bug oder hab ich irgendwo nen Fehler?
Hier mal der Code, der dir Filme einträgt:
Code:
/**
* Trägt alle Filme in die Liste ein
* @param movies Filmliste als Array
*/
public void setMovies(Vector<String> movies){
setListeners(false);
setGuiEnabled(true);
clearGui();
if(movies != null){
System.out.print("Filme werden dem Model hinzugefügt... ");
filmScroller.setVisible(false);
filmListModel.clear();
for(int i=0;i<movies.size();i++){
filmListModel.add(i,movies.elementAt(i));
}
filmScroller.setVisible(true);
System.out.println("Fertig!");
setListeners(true);
setButtonsEnabled(true);
filmListe.setSelectedIndex(3);
filmListe.ensureIndexIsVisible(0);
}
}
Wie gesagt, wenn ich
Code:
filmListe.setSelectedIndex(0);
mache hängts etwas, mache ich aber z.B. 3 ( wie im obigen Code ) gehts. Wenn ich z.B. überprüfe, ob vor dem setzen der neuen Movies das 1. Element selektiert ist und falls ja, dann das zweite anwähle gehts auch ohne probs:
Code:
if(filmListe.getSelectedIndex() == 0){
filmListe.setSelectedIndex(1);
}
Gruß,
VipViper2000