2015-05-05 5 views
0
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(); 
    } 
} 

Почему я не могу использовать super.paintComponent(g);?
В нем указано, что для типа Object он не определен.Почему я не могу использовать свой paintComponent?

Также говорится, что drawImage не применимо к моему изображению. Кроме того, я не могу repaint();, когда действие выполнено в public void actionPerformed(ActionEvent ae).

+0

'общественного класса Движение реализует ActionListener {' не 'JFrame' ни' JPanel'. – EpicPandaForce

+0

Всегда предшествовать методу с '@ Override' были переопределены:' keyTyped', но особенно 'paintComponent'. Если бы это не было чрезмерно. никто не называет его. –

ответ

0

public class Movement implements ActionListener {

ваш класс не JFrame ни JPanel.

+0

(c/w - удаляется, если EPF хочет опубликовать то же самое, что и ответ) –

+0

Это сработало, но почему я не могу нарисовать свое изображение? – user1234

+0

Ничто не вызовет методы в прослушивателе действий, которые не являются перегрузками. Вам необходимо реализовать чертеж в компоненте, а не слушателя –

Смежные вопросы