Ist es möglich, ein MouseEvent in ein ActionEvent zu konvertieren?
Antworten
Zu viele Anzeigen?Nicht ohne einige Informationen zu verlieren. Die MouseEvent
enthält Informationen über den Standort der Maus ( x, y
) und welche Tasten gedrückt werden (falls vorhanden).
Ich würde die Umwandlung folgendermaßen vornehmen:
MouseEvent me = ...;
ActionEvent ae = new ActionEvent(me.getSource(), me.getID(), me.paramString());
Sicher, das ist es, was ein Button tut (nach meinem Verständnis). Er verarbeitet eine MouseEvent
und erstellt (sendet) eine ActionEvent
.
Aktionsereignisse sind semantische Ereignisse - wie ein Signal, dass eine bestimmte Schaltfläche (Widget!) "gedrückt" wurde. Der Auslöser für dieses Aktionsereignis kann ein Mausereignis ("linke Taste wurde gedrückt und losgelassen, während sich der Mauszeiger in dem durch ein AWT-Schaltflächenwidget definierten Rechteck befand") oder ein Tastaturereignis ("Leertaste wurde gedrückt und losgelassen, während der Fokus auf dem AWT-Schaltflächenwidget lag") gewesen sein.
Ich vermute, dass es sich nicht um eine technische Umstellung handelt. Praktisch gesehen müssen Sie auf Mausereignisse hören und neue Aktionsereignisse an Ihre Aktions-Listener senden.