Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:grafik:mausereignisse

Dies ist eine alte Version des Dokuments!


Reagieren auf Maus- und Tastaturereignisse (Event-Handler)

Jedes graphische Objekt (d.h. jede von Shape abgeleitete Klasse) besitzt Methoden, die bei Maus- oder Tastaturereignissen aufgerufen werden:

  • onMouseDown(int key)
    wird aufgerufen, wenn sich der Mauszeiger über dem Objekt befindet und eine Maustaste heruntergedrückt wurde. key == 0 bedeutet: linke Taste, key == 2 bedeutet: rechte Taste.
  • onMouseUp(int key)
    wird aufgerufen, wenn sich der Mauszeiger über dem Objekt befindet und eine Maustaste losgelassen wurde. key == 0 bedeutet: linke Taste, key == 2 bedeutet: rechte Taste.
  • onMouseEnter()
    wird aufgerufen, wenn der Mauszeiger sich in das Objekt hineinbewegt.
  • onMouseLeave()
    wird aufgerufen, wenn der Mauszeiger sich aus dem Objekt herausbewegt.
  • onKeyDown(String key)
    wird aufgerufen, wenn eine Taste der Tastatur gerade heruntergedrückt wurde.
  • onKeyUp(String key)
    wird aufgerufen, wenn eine Taste der Tastatur gerade losgelassen wurde.
  • onKeyTyped(String key)
    wird aufgerufen, wenn eine Taste der Tastatur angeschlagen (heruntergedrückt und losgelassen) wurde. Der Unterschied zu onKeyUp besteht darin, dass das Betriebssystem je nach Einstellung beim längeren Halten einer Taste viele KeyTyped-Ereignisse in Folge auslöst, jedoch nur ein einziges KeyUp-Ereignis beim Loslassen der Taste.

Diese Methoden der Grafikobjekte (Rectangle, Circle, …) sind allesamt leer, d.h. die Graphikobjekte reagieren erstmal nicht auf die Maus- und Tastaturereignisse. Damit sich das ändert, musst du wie folgt vorgehen:

  1. Schreibe eine eigene Klasse, die Unterklasse einer graphischen Klasse ist (z.B. class Test extends Rectangle { }).
  2. Überschreibe nun in dieser Klasse eine oder mehrere der obigen Methoden. Diese Methoden nennt man Ereignishandler.
  3. Wir eines der Ereignisse ausgelöst, so wird jetzt deine dazugehörige Methode aufgerufen und der Programmcode darin ausgeführt.

Das klingt jetzt vielleicht kompliziert, ist es aber nicht! Du findest auf dieser Seite im Folgenden viele kleine Beispiele, an denen Du leicht sehen kannst, wie es geht.

Beispiel 1: Überschreiben der onMouseDown-Methode

Beispiel 2: Dreien eines Dreiecks mit den Tasten r und l

api/documentation/grafik/mausereignisse.1609942409.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki