Probleme avec F1

romainbisson Messages postés 88 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 9 septembre 2014 - 21 févr. 2008 à 00:10
 Utilisateur anonyme - 21 févr. 2008 à 07:06
voila, j'ai un probleme avec la touche F1

public void keyPressed(KeyEvent e) {
    if (e.getKeyChar() == KeyEvent.VK_F1){
                new ServeurPop(aide1);
                dispose();
    }
}

pourquoi il ne reconnait pas cette touche, j'ai essayé avec la touche espace et sa marche bien. mes ecouteurs sont bien placé donc ou est le probleme ?

1 réponse

Utilisateur anonyme
21 févr. 2008 à 07:06
Bonjour

Fais plutôt comme ça :

public void keyPressed(KeyEvent e) {
    if (e.getKeyCode() == KeyEvent.VK_F1){
                new ServeurPop(aide1);
                dispose();
    }
}

Regarde bien la documentation Java :
 
int
getKeyCode()


          Returns the integer keyCode associated with the key in this event.

Ce que tu faisais retournait un caractère que tu comparais avec un entier, ça marchait pour quelques touches parce que le code ASCII du caractère retourné était égal à l'entier qui les identifie. VK_F1 est bien un entier :
static int
VK_F1


          Constant for the F1 function key.

Si ça ne marche pas, cela vient d'autre chose dans ton code car je fais comme ça dans mon jeu vidéo. Vérifie si ton composant a bien le focus et si ton listener écoute le bon composant mais comme ça a marché pour la touche espace, ça devrait aller avec cette modification. Bon courage.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Rejoignez-nous