2011-06-17 4 views
2

J'ai fait des accélérateurs dans mon interface Java en utilisant setAccelerator(), et ils fonctionnent à moins que quelque chose avec la même liaison de touches soit en focus. Y at-il un moyen de les activer globalement afin que l'action soit déclenchée, peu importe si la fenêtre a le focus?Accélérateur global en java swing

jmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, Event.CTRL_MASK)) 
+0

Vous avez deux ou plusieurs fenêtres de votre programme java unique qui ont la même liaison de touches. Et vous voulez que cette liaison soit appliquée globalement à une seule de ces fenêtres. Ai-je raison? – MockerTim

Répondre

4

Regardez Global Event Dispatching. Vous devriez être en mesure d'utiliser un KeyEventDispatcher pour intercepter tout événement clé pour effectuer votre traitement personnalisé.

+0

Merci. Fonctionne parfaitement. –