Java Reference
In-Depth Information
Abbildung 13.10 Methode »mouseEntered« aktivieren
jLMausposition.setVisible(true);
Entsprechend aktivieren Sie für das Verlassen des Mauszeigers die Methode mouse-
Exited und setzen dort die Eigenschaft visible des Labels auf false . Der Labeltext ist
somit nur noch sichtbar, solange sich der Mauszeiger auf der Zeichenfläche befindet.
Das Label zeigt jetzt noch nicht die Koordinaten der Mausposition an. Da diese sich bei
jeder Mausbewegung ändern, muss der Labeltext nach jeder Bewegung aktualisiert wer-
den. Sie benötigen dazu die Methode mouseMoved des MouseMotionListeners . Wie nicht
anders zu erwarten, finden Sie auch diese Methode in der GUI Properties unter dem
Event Name MouseMotionListener . Nachdem Sie die Methode aktiviert haben, können
Sie im erstellten Methodenrumpf den Labeltext aktualisieren. Für den Labeltext benöti-
gen Sie aber die Angaben über die aktuelle Mausposition. Bei den bisherigen Ereignisbe-
handlungen war nur von Bedeutung, ob das Ereignis eingetreten ist. Jetzt werden zum
ersten Mal nähere Informationen zu dem Ereignis benötigt. Diese Informationen kön-
nen Sie dem der jeweiligen Methode als Parameter übergebenen Ereignisobjekt entneh-
men.
private void jPanelZeichenflaecheMouseMoved(MouseEvent evt) {
jLMausposition.setText("x:"+evt.getX()
+"y:"+evt.getY());
}
Listing 13.13 Positionsangaben in den Labeltext übernehmen
In der von Jigloo erstellten Handler-Methode wird ein MouseEvent -Objekt mit dem
Namen evt übergeben. Wie Sie aus Tabelle 13.14 entnehmen können, bringt dieses
Objekt eine ganze Reihe von Methoden zur Analyse des Ereignisses mit. Unter anderem
können Sie mit getX() und getY() die Koordinaten der Mausposition erfragen. Jetzt
sollte ein Test des Programms zeigen, dass das Label immer dann, wenn sich der Maus-
zeiger auf der Zeichenfläche befindet, die Koordinaten anzeigt.
 
Search WWH ::




Custom Search