我想知道调用repaint方法时电脑究竟进行了哪些操作,update也是如此,谢谢

解决方案 »

  1.   

    那也要有过程啊,我想知道它的内部究竟调用了哪些api
    我现在的理解是这样的,repaint和update是一样的,都是先清空画板,再调用paint方法,不知理解是否有误
      

  2.   

    我表示jdk的api文档写的相当含糊其词,压根不明白他想表达什么意思
      

  3.   

    repaint是生成一个PaintEvent事件
    然后交给Swing去处理这个绘制事件
    Swing会根据事件中的给定区域
    调用组件的paintComponent和paint方法
    对相应区域进行重绘
    至于是否先清空,完全看你的
    paintComponent方法和paint中是怎么写的而update是直接调用paint方法而许多组件都有updateUI这个方法
    这个方法则是先重新setUI,即把LookAndFeel先刷新一下
    再repaint
      

  4.   

    它是继承自java.awt.Component。首先是做一个判断,当组件式轻量级的时候直接重绘组件;如果组件是非轻量级的时候,组件首先调用update方法,这时候背景并没有被重绘,然后update调用repaint方法重绘组件,这里要说的是repaint方法是在paint方法中重写的,当然你直接看成是调用repaint也没有错。