Probleme Majuscule KeyListener Java

Résolu
evan... Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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 :).




A voir également:

3 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Essayes d'utiliser getKeyCode() pour faire ta comparaison plutôt que getKeyChar().
2
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
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();  
   }  
0
evan... Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   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.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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...
0