请问paint(Graphics g)和paintComponent(Graphics g)方法的区别是什么呢?
就是在什么时候用paint(Graphics g)什么时候用paintComponent(Graphics g)呢?
谢谢!!

解决方案 »

  1.   

    paintComponent(Graphics g)是系统自动调用的方法,例如在最小化窗体后恢复,移动窗体等系统都会自动调用该方法来重构,所以在Graphics上画图时也要储存构成该图的数据,不然最小化后恢复窗体你会发现你画的图不见了
      

  2.   

    再说明一点程序运行时会先调用paintComponent(Graphics g)再调用paint(Graphics g)
      

  3.   

    下面是我的一些理解:
    一般来说当你想在AWT组件上进行绘制时,你可以重新实现paint函数,像我们在Applet Canvas上绘制,需要实现paint函数
    如果想在Swing组件上进行绘制,我们往往重新实现paintComponent方法(这个方法AWT组件没有),在需要刷新的时候系统会调用paint函数,paint函数内部又调用paintComponent函数(paint内部一共会调三个,还有一个负责边框绘制,还有一个忘了)AWT上的绘制默认不支持双缓冲,而Swing组件默认支持