paf24
Messages postés20Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention12 janvier 2005
-
22 sept. 2004 à 11:03
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
15 janv. 2005 à 11:23
Salut, j'ai un petit blem en java, si y'a un bosse de java dans le coin, ça serait cool de jeter un oeil furtif.
En gros, je souhaite utiliser un KeyListener sur ma fenêtre de façon globale (pas juste sur un JTextBox...), je veux que mon ecouteur se déclenche QUELQUE SOIT l'objet activé dans la fenêtre.
Ce que j'arrive à fairepour l'instant :
- activé mon keylistener sur un Component (un TextBox), mais je rappelle que c'est pas ça que je veux
- activé mon keylistener sur la fenêtre, mais seulement quand il n'y a aucun button ou zone de text dans la fenêtre, juste le layout, mais moi, une fenêtre vide ça ne m'interesse pas.
Evitez de me répondre d'activer le listener sur tout mes component de la JFrame, j'y ai pensé, c'est bourrin, je préfèrerai trouvé mieux.
Donc si quelqu'un a la soluce...
je joins un code réduit sur lequel je fais mes tests.
dans ce code, le KeyListener est lié à la JFrame, mais ça ne réagit pas :
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 23 sept. 2004 à 13:40
hello simple question pourquoi rattacher ton keylistener à ta JFrame?
vue comment tu as fais ton code cela ne peut fonctionner que si tu ratache le listener à ton JTextField
exemple
text.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent k){
System.out.println("pressed");
}
});
paf24
Messages postés20Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention12 janvier 2005 23 sept. 2004 à 15:44
en fait, le but final est de relancer une partie avec la touche F2
donc ceci doit être fait quelque soit le component sélectionner.
je veux que mon F2 réagisse aussi bien quand je suis dans le JTextField que quand le JButton est sélectionné.
je pourrai très bien mettre le listener sur tous mes components, mais je cherche une solution plus "globale"
comme j'implemente la super interface EventListener, j'ai plus besoin d'implémenter keyListener car c'est une sous-interface de EventListener.
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 15 janv. 2005 à 11:22
hello, il existe une methode toute simple pour le faire que j'ai
retrouvé par hazard cette semaine sur un de mes book, je ne donne pas
de code source pour le moment je vous laisse chercher comme des grand
comment l'utiliser.....(si sa galère trop je ferais un effort)
en premier lieu il faut lancer la doc java et regarder de plus pres la class JComponent dedans il existe plusieurs methodes et plusieurs constantes, pour resoudre le probleme il faut s'interresser a
la methode registerKeyboardAction et les constantes qui lui sont liée
(registerKeyboardAction est obsolète je renvoi sur elle par souci de documentation en effet c'est la seul methode qui soit expliqué comme ca)
voila mise appart peut etre donner tous le code source explicatif je ne
peux pas faire mieux cette methode(ou les methodes de remplacement) est
la seul bonne procedure simple en swing prevu par sun pour gerer ce
type de comportement