茅坛酒是茅台酒厂的吗:请教一个java的小问题
来源:百度文库 编辑:查人人中国名人网 时间:2024/10/04 08:24:11
各位前辈,俺初学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
好象没有任何语句调用过它,可是它却能运行。
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);
这个语句才对阿!
这里只是一个类定义而已。再仔细看看上下文。