Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Einführungsphase

Abhängigkeit von der Zeit

Damit wir die Anzeige in Abhängigkeit vom gedrückten Button hinkriegen, müssen wir in den actionPerformed-Methoden die Auswertung der Buttons vornehmen, die allerdings innerhalb der Methode paint() für eine andere Anzeige von Image-Objekten sorgen soll.

Dazu benötigen wir eine Variable, die zwei Zustände annehmen kann und die uns anzeigt, ob "Nacht" oder "Tag" in Abhängigkeit vom gedrückten Button ist.

Diese Variable können wir dann in einer if-Anweisung abfragen, dazu muss sie aber einen Wahrheitswert enthalten. Deshalb müssen wir die Variable vom Typ boolean im Block vor der init()-Methode erzeugen:

//Wann ist Nacht?
boolean nachtZeit;

Diese Variable ist nicht an ein Objekt gebunden, deshalb deklarieren wir sie als static. Außerdem wird sie nur für interne Zwecke innerhalb des Applets benötigt, daher deklarieren wir sie als private. Insgesamt erhalt dann die Zeile folgendes Aussehen:

//Wann ist Nacht?
private static boolean nachtZeit;

Als erstes müssen wir nun festlegen, welchen Status nachtZeit beim Start des Applets haben soll. Das machen wir natürlich in init():

nachtZeit = false; //Es ist Tag!

In den actionPerformed-Methoden müssen wir nun in Abhängigkeit der Variablen nachtZeit den richtigen Wert setzen. Wenn der Button "Tag" gedrückt wurde, muss

nachtZeit = false;

gesetzt werden; wird "Nacht" gedrückt, dann muss

nachtZeit = true;

gesetzt werden.

Nun fehlt nur noch innerhalb der paint()-Methode die Verzweigung mit der entsprechenden Anzeige des jeweiligen Image-Objektes:

//In Abhängigkeit der Tageszeit Mond oder Sonne zeichnen
if (nachtZeit)
  g.drawImage(imMond,50,40,this);
else
  g.drawImage(imSonne,130,40,this);

Machen Sie jetzt erst einmal diese Ergänzungen und testen Sie Ihr Applet.


© Ralph-Erich Hildebrandt, 12. August 2006