Mouse Event im Fenster global abfangen

DarthShader

Erfahrenes Mitglied
Hallo zusammen,

gibt es eine Möglichkeit, ein MouseEvent (z.B. einfaches Mouse-Down) für ein Fenster "global" mitzubekommen?

Ich würde gerne ein solches Event, d.h. wenn der Benutzer irgendwo innerhalb des Fensters klickt, dieses Event auffangen und ggf. entweder komplett verschlucken (sodass keine Komponente der GUI mehr was davon mitbekommt) oder normal "weiterleiten".

Kennt jemand eine Möglichkeit, solch eine art von "globalem mouse listener" anzulegen?


Vielen Dank für Eure Hilfe!
 
Moin,

na, ich nehme doch an, Du musst den Listener dann für das globale Frame-Objekt implementieren!

Gruß
Klaus
 
Hallo Klaus,

danke für Deine Antwort. Leider ist es nicht so einfach, denn wenn in dem Fenster ein Button ist, und der Benutzer würde dort drauf klicken, bekommt der Button _vor_ dem Frame das Event, und damit kann ich es nicht abfangen.
 
Von welchem GUI-Framework sprichst du eigentlich? Das solltest du schon dazu sagen.
 
Falls du von Swing sprichst:

Eigene Klasse von Frame ableiten und um einen Listenerprovider erweitern. Dann melden sich alle Buttons bei deinem Frame als Listener an und nur das Frame fungiert als Listener für MouseEvents. Dann kannst du von dort aus nach belieben eigene Events auslösen und auf die mit deinen Buttons reagieren und hast somit die Kontrolle was du schlucken und was weiterleiten willst.

.bile
 
Sorry, das hätte ich natürlich sagen müssen - ja, ich meine Swing.

Die Idee mit dem ListenerProvider ist gut. Mittlerweile habe ich auch JXLayer entdeckt, ich glaube diese Komponente setzt das so oder so ähnlich auch um.

Danke für Eure Hilfe
 

Neue Beiträge

Zurück