Hallo,
ich habe folgendes Verständnisproblem - vielleicht kann mir jemand helfen!
Programm: (nicht vollständig)
Datei 1:
import java.awt.*;
class Spiel
{
public static void main( String[] args ) throws Exception
{
PaintWindow w = new PaintWindow();
Deck deck = new Deck();
w.Bild = deck.getCard(9).getImage();
w.repaint();
}
}
Datei 2:
import java.awt.*;
class PaintWindow extends Frame
{
Image Bild;
private int time;
PaintWindow()
{
setSize(600, 400);
setVisible(true);
time = 0;
}
public void paint(Graphics g)
{
System.out.println("Hier wird das Bild gezeichnet");
g.drawImage(Bild, 200, 200, this);
time = time + 1;
System.out.println(time);
}
}
Beim starten des Programms wird die Main-Methode der Datei1 aufgerufen. Dann wird ein PaintWindow Objekt angelegt und es soll ein Bild gezeichnet werden, indem die Methode repaint() aufgerufen wird. Soweit alles in Ordnung und das Bild erscheint auch im Frame. jetzt hab ich mir gedacht, ich lass mal einen Zähler mitlaufen (siehe Datei2). Ich bin davon ausgegangen, dass der Zähler dann in der Konsole 1 zeigt, aber der Zähler zählt bis 100!?!? Folgerung von mir - die Methode wird 100 mal aufgerufen?!? Wieso ist das so?
Kann mir das jemand erklären?
Vielen Dank