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)
.
'общественного класса Движение реализует ActionListener {' не 'JFrame' ни' JPanel'. – EpicPandaForce
Всегда предшествовать методу с '@ Override' были переопределены:' keyTyped', но особенно 'paintComponent'. Если бы это не было чрезмерно. никто не называет его. –