请问一下。。paint与paintComponent这两个方法有什么区别??

解决方案 »

  1.   

    虽然没有学过不过我在网上还是找了一点资料,希望对楼主有帮助paint方法定义于Component类
    awt画布就可以自己重写paint方法,达到自己的目的paintComponent定义于JComponent类
    JComponent类继承了Component类,JPanel类继承了JComponent类
    所以在JPanel既有paint方法,又有paintComponent方法
    但是paint方法被java开发程序员重写了,进行着大量的复杂工作,如图象缓冲,解决了awt画布的抖动等问题,所以这个方法是不能被重写的,否则你的程序没办法正常工作
    于是java开发程序员写了paintComponent方法替代paint方法,让我们完成自己需要的工作,其作用相当于awt的paint方法,作用完全一样这2个方法都不允许自己调用,程序需要时,方法会自动调用
    你要自己强制重画,需要调用repaint()方法AWT控件中是在paint方法进行绘制,   
      所以在AWT控件继承时,只要简单的覆盖paint方法就可以了。   
      而在Swing控件中,paint方法会依次调用paintComponent,   paintBorder,   paintChildren三个方法,后两者一般默认即可,所以Swing编程时,如果继承JComponent或者其子类,要覆盖paintComponent而不是paint方法,这个在Sun的教程中有说,jdk源程序中也可以很容易的看出来。
      

  2.   

    请问一下..JDK源程序就是指的API吗???