Est il possible d'intercepter tous les évènements clavier au niveau d'une jframe et non pas au niveau des composants qu'elle contient.
Si j'ajoute un KeyListener sur ma jframe, elle ne recoit jamais aucun evenement clavier...
Est il possible d'intercepter tous les évènements clavier au niveau d'une jframe et non pas au niveau des composants qu'elle contient.
Si j'ajoute un KeyListener sur ma jframe, elle ne recoit jamais aucun evenement clavier...
Le probleme, c'est que c'est alors ta frame qui doit avoir le focus et non l'un de tes elements.... essaie TaFrame.setFocus() ... je sais pas si ca marche mais on sait jamais
Je veux bien mais à quel moment je le fais le TFrame.setFocus() ???Envoyé par benratti
C'est en parti pour ca que je disais que c'est un probleme ....
salut,
il est possible d'intercepter des évênements clavier pour n'importe quelle partie de la fenêtre (JFrame incluse). mais quant à tout intercepter, c'est une autre histoire.
http://www.developpez.net/forums/vie...635043#1635043
pour tout intercepter, ya l'option bricolage ( fo pas faire) qui consiste à implémenter un évênement par touche et à l'associer à la JFrame.
pour intercepter une touche :
- définir une Action (classe dérivant de Action) et lui associer un nom
- définir un InputMap
- ajouter le raccourci clavier et l'actions associée à l'InputMap
Code : Sélectionner tout - Visualiser dans une fenêtre à part InputMap imap = getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUS_COMPONENT);
-définir un ActionMap
- ajouter l'Action et l'élément de la fenêtre associé
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActionMap amap = getActionMap();
et c'est gagné. avec Mr Pringle, vous êtes un winner!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager