Erreur d'événement de clé de l'adaptateur de clé Java semi point-virgule attendu au lieu de parenthèse?


Je suivais un tutoriel de codage ayant à voir avec des événements clés et tout le code semble correct, mais pour une raison quelconque, il y a une erreur que je ne peux pas corriger. Peut-être que tout ce dont j'ai besoin est un autre ensemble d'yeux pour le scanner et repérer mon erreur. Voici le code. Il y a 2 astérisques de chaque côté de la ligne de code avec l'erreur. L'erreur me dit qu'un"; " (point-virgule) est attendu où le "(" et ")" est...comment est-ce que même un sens ? Je vais également poster un image.

package com.Bench3.myGame;

import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

public class Keying extends JPanel{

public Rectangle character;

public int charW = 24;
public int charH = 36;

public boolean right = false;
public boolean left = false;

public Keying(Display f, Images i){
    character = new Rectangle(180, 180, charW, charH);

    f.addKeyListener(new KeyAdapter(){
        public void keyPressed(KeyEvent e){
            if(e.getKeyCode() == KeyEvent.VK_D){
                right = true;
            }
            if(e.getKeyCode() == KeyEvent.VK_A){
                left = true;
                }

            **public void keyReleased(KeyEvent e)**{
                if(e.getKeyCode() == KeyEvent.VK_D){
                    right = false;
                }
                if(e.getKeyCode() == KeyEvent.VK_A){
                    left = false;
                }
            }
        }
    });     
}
public void paintComponent(Graphics g){
    super.paintComponent(g);
    this.setBackground(Color.BLACK);
    g.setColor(Color.WHITE);
    g.fillRect(character.x, character.y, character.width, character.height);

    if(right){
        character.x += 1;
    }
    if(left){
        character.x -= 1;
    }
    repaint();
}

} Voici l'erreur près. espérons que cela aide MERCI!!!!

Author: mKorbel, 2012-10-20

2 answers

Vous avez oublié de fermer les accolades de la méthode précédente (keyPressed()): -

public void keyPressed(KeyEvent e){
        if(e.getKeyCode() == KeyEvent.VK_D){
            right = true;
        }
        if(e.getKeyCode() == KeyEvent.VK_A){
            left = true;
            }
} // missing
 4
Author: Rohit Jain, 2012-10-20 05:35:39

keyPressed() méthode } restant.

public void keyPressed(KeyEvent e){
        if(e.getKeyCode() == KeyEvent.VK_D){
            right = true;
        }
        if(e.getKeyCode() == KeyEvent.VK_A){
            left = true;
            }
}// you missed `}`
 2
Author: Nandkumar Tekale, 2012-10-20 05:36:03