为什么我无法使用我的paintComponent?

时间:2021-08-09 19:55:44
public class Movement implements ActionListener {
    MazeModel model = new MazeModel();
    public void keyPressed(KeyEvent e){ //all of the different movement keys
        if(e.getKeyCode() == KeyEvent.VK_W || e.getKeyCode() == KeyEvent.VK_UP){
            model.moveUP(model.getUserY());
        }
        else if(e.getKeyCode() == KeyEvent.VK_A || e.getKeyCode() == KeyEvent.VK_LEFT){
            model.moveLEFT(model.getUserX());
        }
        else if(e.getKeyCode() == KeyEvent.VK_S || e.getKeyCode() == KeyEvent.VK_DOWN){
            model.moveDOWN(model.getUserY());
        }
        else if(e.getKeyCode() == KeyEvent.VK_D || e.getKeyCode() == KeyEvent.VK_RIGHT){
            model.moveRIGHT(model.getUserX());
        }
    }
    //no need for either of these at the moment
    public void keyRealeased(KeyEvent e){}

    public void keyTyped(KeyEvent e){}
    //painting the image
    protected void paintComponent(Graphics g){
        super.paintComponent(g);
        g.drawImage("player.png", model.getUserX(), model.getUserY(), this);
    }
    //every time a key is pressed the screen will repaint the image
    public void actionPerformed(ActionEvent ae){
        repaint();
    }
}

Why am I unable to use super.paintComponent(g);?
It says that it is undefined for type Object.

为什么我无法使用super.paintComponent(g);?它表示对于Object类型它是未定义的。

Also it says that drawImage is not applicable to my image. In addition I am unable to repaint(); when an action is performed in public void actionPerformed(ActionEvent ae).

它还说drawImage不适用于我的图像。另外我无法重画();当在public void actionPerformed(ActionEvent ae)中执行动作时。

2 个解决方案

#1


public class Movement implements ActionListener {

public class Movement实现ActionListener {

your class is not a JFrame nor a JPanel.

你的类不是JFrame,也不是JPanel。

#2


Your class has to extend JPanel

你的班级必须扩展JPanel

#1


public class Movement implements ActionListener {

public class Movement实现ActionListener {

your class is not a JFrame nor a JPanel.

你的类不是JFrame,也不是JPanel。

#2


Your class has to extend JPanel

你的班级必须扩展JPanel