Probleme Majuscule KeyListener Java

[Résolu/Fermé]
Signaler
Messages postés
44
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
14 mars 2012
-
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
-
Bonjour,
Je suis actuellement Entrain de Coder un petit jeu en Java genre Mario.
Voici mon problème :
			if(KeyEvent.VK_D == e.getKeyChar()){
				
				int y = pan.getPosY();
				int x = pan.getPosX();
				pan.setPosY(y);
				pan.setPosX(x+10);
				pan.repaint();
			}


Enfaite, tout fonctionne mais quand je lance mon application,
je ne peux faire bouger mon personnage Qu'avec les touches en majuscule.

Par exemple, pour aller à droite, Je ne pourrait pas faire "d" mais "D".

Y a t-il une alternative au KeyEvent qui gère les Majuscules ou autre ?

Merci D'avance et excusez moi si la question est un peu Nul je débute :).




3 réponses

Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 860
Essayes d'utiliser getKeyCode() pour faire ta comparaison plutôt que getKeyChar().
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
571
Date d'inscription
mardi 16 mars 2010
Statut
Membre
Dernière intervention
18 avril 2018
61
Salut, peut être en essayant de tester la fonction e.getKeyCode(), 'au debut l'écrire simplement dans ton KeyListner, pour voir ce que retourne d en majuscule et en minuscule, puis tester de cette manière:

//au hasard  
if(e.getKeyCode()==345||e.getKeyCode()==346){  

}  



Ca fait un petit moment que j'ai pas fais de java donc c'est peut être pas la bonne solution. Mais la variable public VK_d, elle doit exister. non???

if(KeyEvent.VK_D == e.getKeyChar()||KeyEvent.VK_d == e.getKeyChar()){  
      
    int y = pan.getPosY();  
    int x = pan.getPosX();  
    pan.setPosY(y);  
    pan.setPosX(x+10);  
    pan.repaint();  
   }  
Messages postés
44
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
14 mars 2012
4
Merci beaucoup KX, c'est en effet getKeyCode() et non pas getKeyChar() !
Je ne comprend pas tellement la différence mais Bon, ... sa marche :).

Dariumis, Non la variable VK_d n'existe pas, mais merci quand même.

Bonne Soirée.
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 860
Le code c'est juste la touche alors que le caractère est obtenu par une combinaison de touches avec VK_SHIFT, VK_ALT, etc...