Hallo Leute,
ich arbeite gerade an einer Bildanzeige und habe zum laden der Bilder eine eigene ImageLoader-Klasse geschrieben. Diese soll nun, wann immer ein neues Bild angefragt wird, beginnen, dieses zu laden und es dann der Anzeige übergeben, sobald es vollständig geladen ist. Geht aber eine neue Anfrage ein, bevor das erste Bild komplett geladen ist, soll der ImageLoader das Laden des ersten Bildes abbrechen und das neue Bild laden - und das ganze natürlich nicht im EventDispatchThread, damit das Programm nicht einfriert.
Wie stelle ich das am geschicktesten an?
Ich habe mir dazu schon die ExecutorService-Klassen angeschaut, aber denen kann ich leider nicht beibringen, die aktuelle Aufgabe abzubrechen, wenn eine neue eingeht (mag an mir liegen...).
Gibt es da irgendeine besonders elegante Lösung?
EDIT: Also es geht mir dabei jetzt nur um's Threading - wie ich die Bilder dann übergebe und anzeige ist nicht mein Problem.
ich arbeite gerade an einer Bildanzeige und habe zum laden der Bilder eine eigene ImageLoader-Klasse geschrieben. Diese soll nun, wann immer ein neues Bild angefragt wird, beginnen, dieses zu laden und es dann der Anzeige übergeben, sobald es vollständig geladen ist. Geht aber eine neue Anfrage ein, bevor das erste Bild komplett geladen ist, soll der ImageLoader das Laden des ersten Bildes abbrechen und das neue Bild laden - und das ganze natürlich nicht im EventDispatchThread, damit das Programm nicht einfriert.
Wie stelle ich das am geschicktesten an?
Ich habe mir dazu schon die ExecutorService-Klassen angeschaut, aber denen kann ich leider nicht beibringen, die aktuelle Aufgabe abzubrechen, wenn eine neue eingeht (mag an mir liegen...).
Gibt es da irgendeine besonders elegante Lösung?
EDIT: Also es geht mir dabei jetzt nur um's Threading - wie ich die Bilder dann übergebe und anzeige ist nicht mein Problem.
Zuletzt bearbeitet: