Nabend allerseits.
Ich bin nicht mehr der größte Anfänger aber ich habe da dennoch ein Problem von dem ich hoffe erfahrenere Leute (also irgendwer hier) könnte mir dabei vieleicht helfen.
Folgendes Problem:
Ich habe eine Programm das eine LinkedList erzeugt und ihr aus Testzwecken rein statisch zunächst 2 Elemente, einer Klasse die aus mehreren gekapselten Variablen sowie ihren getMethoden besteht, hinzugefügt.
Die Elemente enthalten jeweils eine x und eine y Koordinate sowie einen String, der als Dateipfad eines Bildes dient. Jedes Element der Liste steht also für ein Bild.
Nun übergebe ich die Liste als Parameter an den Konstruktor meiner GUI und wollte sie dort in meiner Paintmethode per Schleife und Listen-Iterator durchlaufen um mir jedes Bild in der Liste zeichnen zu lassen.
Das sieht so aus:
Merkwürdiger Weise läuft das Programm meistens, doch gelegentlich wird kein Bild dargestellt und es wird folgende Exception ausgegeben:
Ich habe die Fehlerquelle per try & catch -wenn ich dabei keinen Fehler gemacht habe- schon auf die Zeile
Doch ich verstehe nicht was da schief läuft.
Könnte es damit zusammenhängen das die Bilder Animierte Gifs sind und ich doubleBuffering benutze. Oder handelt es sich um einen Fehler im Umgang mit LinkedList?
Bitte helft mir.
Danke.
Ich bin nicht mehr der größte Anfänger aber ich habe da dennoch ein Problem von dem ich hoffe erfahrenere Leute (also irgendwer hier) könnte mir dabei vieleicht helfen.
Folgendes Problem:
Ich habe eine Programm das eine LinkedList erzeugt und ihr aus Testzwecken rein statisch zunächst 2 Elemente, einer Klasse die aus mehreren gekapselten Variablen sowie ihren getMethoden besteht, hinzugefügt.
Code:
LinkedList bildListe = new LinkedList();
bildListe.addLast(new Bild(200,200, "DateinameBild1.gif"));
bildListe.addLast(new Bild(100,200, "DateinameBild2.gif"));
Die Elemente enthalten jeweils eine x und eine y Koordinate sowie einen String, der als Dateipfad eines Bildes dient. Jedes Element der Liste steht also für ein Bild.
Nun übergebe ich die Liste als Parameter an den Konstruktor meiner GUI und wollte sie dort in meiner Paintmethode per Schleife und Listen-Iterator durchlaufen um mir jedes Bild in der Liste zeichnen zu lassen.
Das sieht so aus:
Code:
public void paint(Graphics g)
{
Image img;
ListIterator itera = bildListe.listIterator();
while (itera.hasNext())
{
Bild hilfs_Bild = (Bild) itera.next();
img = getToolkit().getImage(hilfs_Bild.getPath());
g.drawImage(img, hilfs_Bild.getX(), hilfs_Bild.getY(), this);
}
}
Merkwürdiger Weise läuft das Programm meistens, doch gelegentlich wird kein Bild dargestellt und es wird folgende Exception ausgegeben:
java.lang.NullPointerException
at Wf8GUI.paint(Wf8GUI.java:91)
at sun.awt.RepaintArea.paint(RepaintArea.java:177)
at sun.awt.Component.dispatchEventImpl(Component.java.3678)
at sun.awt.Container.dispatchEventImpl(Container.java:1627)
at sun.awt.Window.dispatchEventImpl(Window.java:1606)
at sun.awt.Component.dispatchEvent(Component.java:3477)
at sun.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at sun.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at sun.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at sun.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at sun.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at sun.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Ich habe die Fehlerquelle per try & catch -wenn ich dabei keinen Fehler gemacht habe- schon auf die Zeile
eingegrenzt.ListIterator itera = BildListe.listIterator();
Doch ich verstehe nicht was da schief läuft.
Könnte es damit zusammenhängen das die Bilder Animierte Gifs sind und ich doubleBuffering benutze. Oder handelt es sich um einen Fehler im Umgang mit LinkedList?
Bitte helft mir.
Danke.