Probleme Majuscule KeyListener Java

Résolu
evan... Messages postés 59 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
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. KX Messages postés 19031 Statut Modérateur 3 020
     
    Essayes d'utiliser getKeyCode() pour faire ta comparaison plutôt que getKeyChar().
    2
  2. dariumis Messages postés 583 Statut Membre 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
  3. evan... Messages postés 59 Statut Membre 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
    1. KX Messages postés 19031 Statut Modérateur 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