武汉众友机械:请教一个java的小问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 06:58:16
各位前辈,俺初学java,遇到一段简单的代码,我想不通其中的 public void paint(Graphics g) 那个办法中的代码是如何被激活的呢?
好象没有任何语句调用过它,可是它却能运行。

import java.awt.*;

public class DrawRect extends Frame {

DrawRect() {

setSize(400,400);

} //DrawRect()

public void paint(Graphics g) {

g.setColor(Color.blue);

g.fillRect(40,50,200,200);

} //paint()

public static void main(String[] args) {

DrawRect em = new DrawRect();

em.setVisible(true);
} //main()

} //DrawRect

paint方法不必调用,它会被自动调用

所有的Swing组件都有paint方法,此方法是把
component和container画在屏幕上

但是你这个代码好像有点问题
重新定义paint方法的时候
方法体中应该有
super.paint(g);
这个语句才对阿!

这里只是一个类定义而已。再仔细看看上下文。