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. 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();  
         }  
      
      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...