component类及其子类在新生成对象的时候会自动调用paint(Graphics g)方法
那么这个自动调用的代码在什么地方?
自动调用的paint(Graphics g)的对象g是怎么产生的?

解决方案 »

  1.   

    应该是在构造函数的super里吧,具体得看源码
      

  2.   

    JComponent有个方法是
    public Graphics getGraphics()
    通过这个方法就可以取得Graphics对象,
      

  3.   

    paint(Graphics g)是个回调方法(callback).
    一般由EDT(event dispatch thread)来调用,当用户界面发生变化(如遮挡的部分重新显示出来,或组件的状态发生变换)时会触发repaint事件,EDT接受到该事件后会调用相关的paint方法来进行窗口绘制.g如楼上所说.
      

  4.   

    楼主不如做个程序就知道是什么时候调用了
    import javax.swing.*;
    public class Test extends JApplet {
      public void init() {
        System.out.println("invoke init()");
      }
      public void start() {
        System.out.println("invoke start()");
      }
      public void stop() {
        System.out.println("invoke stop()");
      }
      public void destory() {
        System.out.println("invoke destory()");
      }
      public void paint(Graphics g) {
        System.out.println("invoke paint()");
      }
    }