# Global Key Listener erstellen



## Templon (4. Jun 2007)

Hallo,

Ich möchte einen KeyListener der von meiner ganzen Aplikation die KeyEvents abfängt. Normalerweise adde ich ja den KeyListener zu einem Panel oder sonst was. Ich möchte den sozusagen an meine Aplikation binden. Ist das irgendwie möglich?

Mfg, Templon


----------



## The_S (4. Jun 2007)

joa, mit dem AWTEventListener!


----------



## Templon (4. Jun 2007)

Ah ja danke hab was gefunden:


```
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
 
            public void eventDispatched(AWTEvent event) {
                System.out.println(event.getSource());
 
            }
 
        }, AWTEvent.KEY_EVENT_MASK);
```

Mfg, Templon


----------



## Wildcard (4. Jun 2007)

Sofern du nur auf KeyEvents hören willst die innerhalb des gleichen Fensters auftreten nimm stattdessen die ActionMap und die ImputMap des Frames.


----------



## thE_29 (4. Jun 2007)

Warum sollte man die diese maps benutzen? (In den FAQ ist ein Bsp für die inputmap bei JTextfields für den User, falls er es so machen will)


----------



## Wildcard (4. Jun 2007)

thE_29 hat gesagt.:
			
		

> Warum sollte man die diese maps benutzen?





			
				API-Doc hat gesagt.:
			
		

> Most applications should never use this class; applications which might use AWTEventListeners include event recorders for automated testing, and facilities such as the Java Accessibility package.


----------



## André Uhres (4. Jun 2007)

Bei AWTEventListener muss man aufpassen weil dadurch die Swing Component Keystroke Assignments maskiert werden könnten.
Z.B. "Escape" zum Beenden der Anwendung könnte den"Escape" der JTable zum Beenden der Zell-Editierung maskieren.


----------



## thE_29 (4. Jun 2007)

Achso, jo der Satz ist mir letztesn schonmal aufgefallen!

Nur als, Bsp wie realisiere ich einen MouseListener für alles ohne dem?
Desweiteren sollte man viele Klassen nicht benutzen, tortzdem tuns viele..
Und der AWTEventLister ist leichter zu verstehen als diese Maps, bzw leichter zu finden


----------



## André Uhres (4. Jun 2007)

AWTEventListener ist vielleicht gut für globale Funktionen, nur wann braucht man sowas schon? Gewöhnlich hängt doch die Funktion einer Taste vom Kontext innerhalb der GUI ab (es sei denn, die GUI ist so simpel, daß es nur einen Kontext gibt).


----------

