Probleme Majuscule KeyListener Java

Résolu
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

  1. Modérateur
    Essayes d'utiliser getKeyCode() pour faire ta comparaison plutôt que getKeyChar().
    1. 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.
      1. Modérateur
        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...
    2. 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();  
         }