Probleme Majuscule KeyListener Java

Résolu/Fermé
evan... Messages postés 44 Date d'inscription vendredi 7 mai 2010 Statut Membre Dernière intervention 14 mars 2012 - 25 déc. 2011 à 19:45
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 25 déc. 2011 à 20:55
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
25 déc. 2011 à 20:22
Essayes d'utiliser getKeyCode() pour faire ta comparaison plutôt que getKeyChar().
2
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
Modifié par dariumis le 25/12/2011 à 20:24
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 44 Date d'inscription vendredi 7 mai 2010 Statut Membre Dernière intervention 14 mars 2012 4
25 déc. 2011 à 20:50
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
25 déc. 2011 à 20:55
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