2010-09-19 5 views
0

Je souhaite effectuer une action spécifique à chaque pression sur une combinaison de touches pendant l'exécution du programme, même si la fenêtre n'est pas active. Par exemple, si j'appuie sur CTRL-U, le programme quittera. Est-ce possible?Combinaisons de touches Java

+0

Ceci n'est pas supporté par Java. Java ne peut répondre à KeyEvents que lorsqu'une fenêtre est active. Vous devez utiliser JNI (dont je ne sais rien) ou un autre langage qui permet l'accès au système d'exploitation. – camickr

+0

Copies possibles: http://stackoverflow.com/questions/901224/listening-for-input-without-focus-in-java, http://stackoverflow.com/questions/800747/event-listener-in-java- sans-application-ayant-focus-global-keypress-détection – Ash

+0

@camickr, JNA pourrait être plus facile à traiter, la plupart des API Windows ont déjà des interfaces C ... –

Répondre

1

Votre seule vraie option pour cela est beaucoup de JNI. Cependant, cela peut être très lourd et difficile à réaliser. Mon conseil est de soit aller directement en C/C++ ou ne pas essayer cela.

1

En termes simples, la seule façon de le faire est avec JNI.

Questions connexes