import java.applet.Applet;
import java.awt.Graphics;
public class Test extends Applet { @Override
public void paint(Graphics g) {
System.out.println("paint  called...");
}
}
问:
1,结果。
2,原因分析。

解决方案 »

  1.   

    输出paint  called...
    有什么问题吗?
      

  2.   

    为什么一运行就打印两个print called...
    ?
      

  3.   

    问题源自于这样的一个简单的测试代码,import java.applet.Applet;
    import java.awt.Graphics;
    class cc
    {
    static int n;
    int nn;
    static {n=20;}
    cc(){nn=n++;}
    }public class Java4_1 extends Applet {/**
     * @param args
     */
    public void paint(Graphics g) {
    // TODO Auto-generated method stub
    cc m=new cc();
    cc m1=new cc();
    g.drawString("m1="+m1.nn, 20, 50);
    g.drawString("m="+m.nn, 20, 90);
    }}大家可以先猜结果,再运行看下是否和你想得一样。
      

  4.   

    这是一个小的java应用小程序,出来个小框,完了再控制台输出paint called...
    请问还有什么疑问吗?
    好简单的东西。
      

  5.   

    因为每个窗体启动的时候都要渲染窗体组件内容都会调用paint