为什么玩家不出现在JFrame上?

时间:2014-06-12 22:20:26

标签: java

我有这段代码:

public Juego() {
    setFocusable(true);

    loop = new Timer(10, this);
    loop.start();

    jugador = new Jugador(400, 400);
}

public void pintar(Graphics g) {
    super.paint(g);

    Graphics2D g2D = (Graphics2D) g;

    jugador.dibujar(g2D);
}

应该将玩家吸引到屏幕上,这是实际玩家的代码:

public class Jugador extends PosicionGlobal {

private String imagendejugador = "/imagenes/jugador.png";

public Jugador(int x, int y) {
    super(x, y);
}

public void actualizar() {

}

public void dibujar(Graphics2D g2D) {
    g2D.drawImage(imagendejugador(), x, y, null);

}

public Image imagendejugador(){
    ImageIcon icono = new ImageIcon(getClass().getResource(imagendejugador));
    return icono.getImage();
}
}

当我运行它时,播放器看起来不像以前那样只是白色屏幕。 PD:我有一个JFrame,我已经把它添加到了它。

如果需要这里是PosicionGlobal类:

public class PosicionGlobal {

public int x;
public int y;

public PosicionGlobal(int x, int y) {
    this.x = x;
    this.y = y;
}
}    

1 个答案:

答案 0 :(得分:0)

你需要重写paint()而不是pintar()..

变化

public void pintar(Graphics g) {

@Override public void paint(Graphics g) {

并确保拨打super.paint(g);