做Tank:
用Java的GUI设计图形界面要使界面中内容动起来就要在JPanel中用到重绘paint();
重绘都会自动调用,不需要人为调用
奇怪的是我的JPanel组建加到JFrame中了,但就是没有调用paint();
我照着源代码看,发现没错啊,怎么会没调用呢?还怀疑是否是MyEclipse6.5的设置有问题,或者取消默认布局影响到paint()的调用了
后来瞪大眼睛一看啊
自己把paint()头一个字母P大写了,结果就是新写了一个方法Paint(),根本不是重写父类JPanel的paint()方法
一个大小写的差别就是两个毫无关系的方法.......
故:代码是严谨的,头脑要时刻保持清醒
发现代码没按自己设想情况运行,要认真排查:
1.看代码逻辑是否有问题
2.代码单词是否一字不差(大小写)
public void paint(Graphics g){
//调用父类函数完成初始化
super.paint(g);
g.drawOval(50, 60, 80, 90);
System.out.println("调用paint");
//画坦克图片
Image img=Toolkit.getDefaultToolkit().
getImage(TankJPanel.class.getResource("/D.jpg"));
g.drawImage(img,50,50,100,100,this);
}