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 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿