Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Einführungsphase

Mouse-Events

Ereignismethoden

Zu jedem Ereignis muss in Java eine Ereignismethode vorgegeben werden. Unter einer Methode versteht man in einer Programmiersprache ein Programmstück, das eigenständig eine vorgegebene Teilaufgabe löst. Eine Ereignismethode ist also dafür zuständig, dass das Programm auf das Ereignis richtig reagiert. In Java heißen diese Methoden auch Event-Handler. Wir benötigen also einen Event-Handler für das Maus-Ereignis "Klicken". Dazu ist es notwendig, in der Liste der import-Anweisungen die folgende Zeile steht:

import java.awt.event.*;

Das sollte aber standardmäßig so sein. Dazu benötigt unser Applet einen sog. MouseListener, der uns die Methoden für die Mausabfrage zur Verfügung stellt. Dieser MouseListener wird als eigenständige Klasse im Applet hinter der init()-Methode definiert:

class MyMouseListener extends MouseAdapter
{
  public void mousePressed(MouseEvent event)
  {
  }
}

Die Methode mousePressed(MouseEvent event) dient dabei dazu, das Reagieren auf den Mausklick zu programmieren.

Damit unser Applet auf den MouseListener reagiert, muss er ihm in der init()-Methode bekannt gemacht werden:

public void init()
{
  setBackground(Color.white);
  addMouseListener(new MyMouseListener());
}

Genauer gesagt, wird eine Instanz der später definierten Klasse MyMouseListener an dieser Stelle dem Applet bekannt gemacht.

Nun fehlt nur noch das Reagieren auf die Mausereignisse.

Änderung der Hintergrundfarbe durch Anklicken des Formulars:

Dazu müssen wir in der mousePressed()-Methode die Änderung des Hintergrundes hinzufügen:

public void mousePressed(MouseEvent event)
{
  setBackground(Color.yellow);
  repaint();
}

repaint() dient dazu, dass das Fenster neu gezeichnet wird, die Änderung also überhaupt wirksam wird.

Jedesmal, wenn nun das Appletinnere angeklickt wird, werden die in der Ereignismethode aufgeführten Anweisungen ausgeführt. Durch die Anweisung wird aber gerade die Hintergrundfarbe des Formulars mit Namen Farben in 'gelb' geändert.


© Ralph-Erich Hildebrandt, 19. September 2011