Java-Maus-Bewegung an einer beliebigen Stelle auf dem Bildschirm
Ich bin sicher, dass dies möglich ist, aber alle meine Suche kommt leer.
In Java ist es möglich, sich für eine Maus-Bewegungs-Ereignis außerhalb der Java app? Also, wenn Sie den Mauszeiger irgendwo auf dem Bildschirm, ich bekomme einen Anruf zurück. Eine Annäherung ist möglich, mit polling MouseInfo.getPointerInfo
aber es muss einen besseren Weg geben.
Dank
Zu erklären, die use-case:
Es ist nur für ein Haustier-Projekt, aber im Grunde feuern von events wenn Sie die Maus trifft den Rand des Bildschirms. Ich dachte auch, dass unterschiedliche Ereignisse können ausgelöst werden, wenn Sie versuchen, um schieben Vergangenheit den Rand des Bildschirms. Und bei dieser dachte ich, eine Maus motion-Hörer besser geeignet sein könnten.
- Ich glaube nicht, dass es einen besseren Weg gibt. Dies muss unabhängig vom Betriebssystem, und ich bezweifle, dass dies problemlos möglich. Aber was ist falsch, wenn Sie die Umfrage regelmäßig die MouseInfo.getPointerInfo Methode? Was ist dein Anwendungsfall?
Du musst angemeldet sein, um einen Kommentar abzugeben.
java.awt.event.MouseMotionListener
wird nur gehen, um Ihnen Informationen über die Bewegung der Maus in Ihrer Anwendung Fenster. Für Ereignisse außerhalb dieses Fensters, es gibt keine Möglichkeit, umMouseInfo.getPointerInfo
. Allerdings könnten Sie schreiben, eine (potenziell singleton -) Klasse, dass Umfragen die Zeiger info in regelmäßigen Abständen und ermöglichtMouseMotionListeners
Hinzugefügt werden:Beachten Sie, dass es gibt einige Unterschiede vom standard-MouseMotionListener obwohl:
mouseMoved
Veranstaltungen, niemouseDragged
Veranstaltungen. Das ist, weil es keine Möglichkeit gibt, Informationen zu erhalten, über die Mausklicks auch außerhalb der Haupt-Fenster.modifiers
jederMouseEvent
wird immer 0 sein.clickCount
,popupTrigger
,button
java.awt.Component
verwendet werden, wie die (fake -) Quelle derMouseEvent
s -null
Werte sind hier nicht erlaubt.