api:documentation:spiele:maus
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Maussteuerung
Es gibt grundsätzlich zwei Ansätze, um auf Mausereignisse zu reagieren:
a) Reaktion auf Mausereignisse durch Überschreiben von Ereignishandlern eines grafischen Objekts
Jedes graphische Objekt hat die Methoden
onMouseEnter(double x, double y)
(wird aufgerufen, wenn sich der Mauszeiger in das Objekt hineinbewegt)onMouseLeave(double x, double y)
(wird aufgerufen, wenn sich der Mauszeiger aus dem Objekt hinausbewegt)onMouseDown(double x, double y, int key)
(wird aufgerufen, wenn sich der Mauszeiger über dem Objekt befindet und eine der Maustasten gedrückt wurde)onMouseUp(double x, double y, int key)
(wird aufgerufen, wenn sich der Mauszeiger über dem Objekt befindet und eine der Maustasten losgelassen wurde)onMouseMove(double x, double y)
(wird aufgerufen, wenn sich der Mauszeiger über dem Objekt befindet und bewegt)
Diese Methoden kann man in einer Unterklasse überschreiben und so auf die entsprechenden Ereignisse reagieren.
Tipps:
- Die Parameter
x
undy
der Ereignishandler sind die Koordinaten des Mauszeigers zum Zeitpunkt des Ereignisses key == 0
bedeutet linke Maustaste,key == 1
bedeutet mittlere Maustaste undkey == 2
bedeutet rechte Maustaste.- Die Methode
startTrackingEveryMouseMovement
bewirkt, dass fortan jedes Mausereignis zum Aufruf des entsprechenden Ereignishandlers beim Objekt führt, auch wenn sich der Mauszeiger außerhalb des Objekts befindet. - Die Methode
stopTrackingEveryMouseMovement
beschränkt die Mausereignisse wieder auf diejenigen innerhalb des Objekts.
Beispiel 1: Verschieben von Rechtecken mit der Maus
Starte das Programm und verschiebe die Rechtecke mit der Maus!
b) Registrieren eines MouseListeners beim World-Objekt
Beispiel 2: Mauszeigerspur
Starte das Programm und fahre mit der Maus über den Grafikausgabebereich!
api/documentation/spiele/maus.1610642754.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)