@ Override public void update ( Graphics g ) { Shape clip = g . getClip ( ) ; Rectangle dirty ; if ( clip != null ) { dirty = clip . getBounds ( ) ; } else { dirty = getRootPane ( ) . getBounds ( ) ; // account for our frame insets Insets insets = getInsets ( ) ; dirty . x += insets . left ; dirty . y += insets . top ; } if ( _fmgr != null ) { _fmgr . restoreFromBack ( dirty ) ; } }
We catch update requests and forward them on to the repaint infrastructure .