import java.applet.Applet;
import java.awt.*;
import java.awt.Color;
public class CanvasDemo extends Applet
{
public void init()
{
Canvas1 c=new Canvas1(); //当执行此行时,为什么就能自动调用
//Canvas1类的paint()成员函数?
//paint()又不是Constructor!
//这在C++里就不行,请高手指教
c.setBackground(Color.red);
c.setSize(600,870);
add(c);
}
}
//定义Canvas1类
class Canvas1 extends Canvas
{
public void paint(Graphics g)
{
g.fillArc(140,40,80,100,180,-90);
}
}
import java.awt.*;
import java.awt.Color;
public class CanvasDemo extends Applet
{
public void init()
{
Canvas1 c=new Canvas1(); //当执行此行时,为什么就能自动调用
//Canvas1类的paint()成员函数?
//paint()又不是Constructor!
//这在C++里就不行,请高手指教
c.setBackground(Color.red);
c.setSize(600,870);
add(c);
}
}
//定义Canvas1类
class Canvas1 extends Canvas
{
public void paint(Graphics g)
{
g.fillArc(140,40,80,100,180,-90);
}
}
如果把这句注释掉就肯定不会有paint()调用
Applet的工作机制决定的你试试把paint换成paint1 肯定就不会了执行了
paint是个特殊的方法 用于界面的初始化显示