maocalm 2016-06-11 14:42 采纳率: 0%
浏览 1043

初学韩顺平的坦克大战。面板上画不出 图形 显示空指针错误

/*

  • 画 出坦克
    /
    package gui;
    import javax.swing.
    ;
    import java.awt.*;
    public class MyTankGame01 extends JFrame {

    MyPanel mp = null;
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    MyTankGame01  mtg = new  MyTankGame01 () ;
    

    }
    //构造函数
    public MyTankGame01(){
    mp = new MyPanel();
    this.add(mp);
    //this.setContentPane(mp);
    this.setSize(400, 300);
    this.setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}

// 我的面板
class MyPanel extends JPanel {

//定义我的坦克
Hero  hero= null ;   
public  void MyPanel(){
    hero = new Hero (10,10); 

}

// 重新paint 
public void  paint (Graphics g){
    super.paint(g);
    g.fillRect(0,0,400,300);
    g.setColor(Color.yellow);   

    //画出我的坦克(到时候封装成一个函数)
    // 1 :画出左面的举行

    g.draw3DRect(hero.getX(),hero.getY(),5,30,false);
}

}

//坦克类
class Tank {
// 位置x 表示坦克的横坐标 纵坐标

int x = 0 ;
int y = 0;
public Tank (int x ,int y ){
this.x= x;
this.y = y ;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}

}

//我的坦克
class Hero extends Tank{

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

}

  • 写回答

1条回答 默认 最新

  • devmiao 2016-06-11 15:19
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器