Jedes graphische Objekt (d.h. jede von Shape
abgeleitete Klasse) besitzt Methoden, die bei Maus- oder Tastaturereignissen aufgerufen werden:
key == 0
bedeutet: linke Taste, key == 2
bedeutet: rechte Taste.key == 0
bedeutet: linke Taste, key == 2
bedeutet: rechte Taste.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:
class Test extends Rectangle { }
). 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.
Stelle die Geschwindigkeit auf maximal, starte das Programm und klicke zuerst mit der linken Maustaste, dann mit der rechten Maustaste auf die Quadrate!
Stelle die Programmgeschwindigkeit auf maximal, starte das Programm und drücke die Tasten r oder l. Probiere auch aus, was passiert, wenn Du die Tasten für längere Zeit hältst!
Falls das Programm nicht reagiert, hat vielleicht irgendein anderes Control im Browser den Tastaturfokus. Klicke in diesem Fall einfach einmal mit der Maus in den Grafikbereich, damit er den Tastaturfokus erhält.
Setze die Geschwindigkeit auf maximal, starte das Programm und fahre mit der Maus über die Quadrate!
Durch geschickte Nutzung der obigen Handler lässt sich Drag and Drop per Maus verwirklichen: