Java Reference
In-Depth Information
13.4
Auswerten von Mausereignissen
In der bisherigen Ausführung des Programms muss der Anwender die Position der zu
zeichnenden Objekte als numerische Eingabe in den ersten beiden Textfeldern vorneh-
men. Sie haben vermutlich selbst bereits festgestellt, dass es nicht ganz einfach ist, die
Positionen im Panel mit numerischen Angaben abzuschätzen. Eine letzte Ergänzung
des Zeichenprogramms soll durch die Auswertung von Mausereignissen den Bedien-
komfort weiter erhöhen.
In den bisherigen Programmbeispielen wurde nur auf das Anklicken von Schaltflächen
reagiert, indem ein ActionListener für die jeweilige Schaltfläche registriert wurde. Die
Maus stellt einem Programm aber wesentlich mehr Informationen zur Verfügung.
Ein Mausereignis hat immer einen Empfänger. Dieser Empfänger ist zunächst einmal
die Komponente, auf der sich zum Zeitpunkt der Auslösung des Ereignisses der Maus-
zeiger befindet. Ohne weiteres Zutun Ihrerseits verpuffen die Mausereignisse und wer-
den vom Empfänger quasi ignoriert. Das müssen Sie aber verhindern, wenn Sie auf
solche Mausereignisse reagieren wollen. Sie verhindern es, indem Sie für die jeweilige
Komponente einen Listener erstellen. Mit Jigloo ist das in den GUI Properties recht
einfach gelöst. Sie kennen das bereits auch von den ActionListenern, die Sie für Schalt-
flächen erstellt haben. Sie wählen dort unter Event Name einen Listener, der auf
bestimmte Ereignisse spezialisiert ist, aus und lassen den Quellcode dafür erstellen.
13
Im Quellcode, den Jigloo erzeugt, wird eine Methode addListener aufgerufen. Diese erstellt
einen Adapter , der wiederum für jedes Ereignis eine Methode erstellt, in der die Anweisun-
gen zur Reaktion auf das Ereignis untergebracht werden können ( Abbildung 13.9 ).
Komponente
addMouseListener
MouseAdapter
public void mouseExited(MouseEvent evt);
public void mouseEntered(MouseEvent evt);
Abbildung 13.9 Mausereignisbehandlung einrichten
Mit der Wahl zwischen inline und handler method legen Sie für Jigloo fest, ob die
Anweisungen zur Reaktion auf das Ereignis direkt in die vom Adapter erstellte Methode
eingetragen werden oder ob dort nur ein Aufruf einer ausgelagerten Methode steht. In
diese ausgelagerte Methode tragen Sie dann Ihre Anweisungen ein.
Search WWH ::




Custom Search