Globaler MouseListener

Wolfy0013

Mitglied
Hallo allerseits!
Meine heutige Frage:
Wie kann ich einen globalen MouseListener erstellen, sodass ich ihn auch abfragen kann, wenn die Maus den JFrame verlassen hat.
Ich will nähmlich abfragen, dass wenn das Fenster den Focus verloren hat und die Maus außerhalb losgelassen/released wurde das Fenster sich schließen soll.
Ich hoffe, meine Formulierung ist verständlich, Wolfy
 
Hallo,

da Java in einer VM läuft, denke ich nicht, dass man globale Ereignisse so einfach abfragen kann.
Hab da mal kurz danach gegoogelt und folgendes gefunden: http://www.jotschi.de/?p=90

Läuft über JNI und ist somit nicht plattformunabhängig, aber das Ziel wird erreicht.

Gruß
BK
 
Hi!
Du kannst zwar mittels des mouseExited-Events abfangen, wann die Mouse das Frame verlässt, was aber ausserhalb der Java Komponenten passiert, kannst du mit einfachen Java Mitteln nicht herrausfinden. Dazu würdest du Zugriff auf das Betriebssystem benötigen, was beispielsweise mit JNA https://jna.dev.java.net/ möglich ist.

*grüssle*
 
Ich will nähmlich abfragen, dass wenn das Fenster den Focus verloren hat und die Maus außerhalb losgelassen/released wurde das Fenster sich schließen soll.

Hallo!
Code:
frame.addMouseListener(new MouseListener(){
	@Override
	public void mouseClicked(MouseEvent arg0) {
	// TODO Auto-generated method stub
	}

	@Override
	public void mouseEntered(MouseEvent arg0) {
	// TODO Auto-generated method stub
	}

	@Override
	public void mouseExited(MouseEvent arg0) {
		System.exit(0);
	}

	@Override
	public void mousePressed(MouseEvent arg0) {
	// TODO Auto-generated method stub
	}

	@Override
	public void mouseReleased(MouseEvent arg0) {
	// TODO Auto-generated method stub				
	}
					
});

Es gibt bestimmt jemanden, der es besser weiß...
 
Zuletzt bearbeitet:
@Tinipieps: Die Anforderung war aber, Frame verlassen UND ausserhalb des Frames wird die Maus losgelassen. Du hast jetzt nur den ersten Teil erfüllt;)

*grüssle*
 
Nun, ich muss zu meinem Leidwesen zugeben, dass ich mich mit beiden Möglichkeiten schwer tue.
Bei ersterem deshalb, da da ja irgendwie noch kein MouseListener dabei ist.
Bei zweiterem, weil ich die Dokumentation auf Java.net nicht im Ansatz verstehe...
Vielleicht kann mir ja jemand in einer der beiden Möglichkeiten genauer weiterhelfen.
 
Hallo allerseits!
[...]Ich will nähmlich abfragen, dass wenn das Fenster den Focus verloren hat [...]

Für diesen Part würde ich http://java.sun.com/j2se/1.4.2/docs/api/java/awt/event/WindowFocusListener.html vorschlagen...

Ansonsten hatte ich mal folgenden Link gefunden: http://mouse1.software.informer.com
Ich fand immer er klang recht zuversichtlich. Ich weiß nur nicht, ob es auch für deine Anforderungen passt. Ich habe es leider nie ausprobiert.


Ich hoffe die Links helfen dir weiter.
 
Zurück