import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
/**
* Zugriff auf die Ereignisse einschließlich Taktgeber.
*
* @author Albert Wiedemann
* @version 1.0
*/
public class Ereignisbehandlung
{
/**
* Der Konstruktor meldet den Taktgeber
* und die Eventlistener bei der Zeichenfläche an.
*/
Ereignisbehandlung ()
{
Zeichenfenster.AktionsEmpfängerEintragen(new Zeichenfenster.AktionsEmpfaenger()
{
public void Ausführen ()
{
TaktImpulsAusführen();
}
public void Taste (char taste)
{
TasteGedrückt(taste);
}
public void SonderTaste (int taste)
{
SonderTasteGedrückt(taste);
}
public void Geklickt (int x, int y, int anzahl)
{
MausGeklickt(x, y, anzahl);
}
});
}
/**
* Die eigentliche Aktionsmethode des Zeitgebers.
*
Muss bei Bedarf von einer Unterklasse überschrieben werden.
*/
void TaktImpulsAusführen ()
{
System.out.println ("Tick");
}
/**
* Zeitgeber starten.
*/
void Starten ()
{
Zeichenfenster.TaktgeberStarten();
}
/**
* Zeitgeber anhalten.
*/
void Anhalten ()
{
Zeichenfenster.TaktgeberStoppen();
}
/**
* Ablaufgeschwindigkeit des Zeitgebers einstellen.
*
* @param dauer: Angabe in Millisekunden
*/
void TaktdauerSetzen (int dauer)
{
Zeichenfenster.TaktdauerSetzen(dauer);
}
/**
* Die eigentliche Aktionsmethode für gedrückte Tasten.
*
Muss bei Bedarf von einer Unterklasse überschrieben werden.
* @param taste die gedrückte Taste
*/
void TasteGedrückt (char taste)
{
System. out. println ("Taste: " + taste);
}
/**
* Die eigentliche Aktionsmethode für gedrückte Sondertasten.
*
Muss bei Bedarf von einer Unterklasse überschrieben werden.
* @param taste KeyCode der gedrückten Taste
*/
void SonderTasteGedrückt (int taste)
{
System. out. println ("Sondertaste: " + taste);
}
/**
* Die eigentliche Aktionsmethode für einen Mausklick.
*
Muss bei Bedarf von einer Unterklasse überschrieben werden.
* @param x x-Position des Mausklicks
* @param y y-Position des Mausklicks
* @param anzahl Anzahl der aufeinanderfolgenden Mausklicks
*/
void MausGeklickt (int x, int y, int anzahl)
{
System. out. println ("Maus: (" + x + "|" + y + "), " + anzahl + " mal");
}
}