Java中GUI的重绘paint()

做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);
	}

 

 

 

posted @ 2012-02-29 22:24  银狐翡翠  阅读(1423)  评论(0编辑  收藏  举报