protected void paintForeground(Graphics g){
  if (graphComponent != null) {
    Graphics2D g2=(Graphics2D)g;
    Stroke stroke=g2.getStroke();
    g.setColor(Color.BLUE);
    g2.setStroke(new BasicStroke(3));
    g.drawRect(finderBounds.x,finderBounds.y,finderBounds.width,finderBounds.height);
    g2.setStroke(stroke);
    g.setColor(DEFAULT_ZOOMHANDLE_FILL);
    g.fillRect(finderBounds.x + finderBounds.width - 6,finderBounds.y + finderBounds.height - 6,8,8);
    g.setColor(Color.BLACK);
    g.drawRect(finderBounds.x + finderBounds.width - 6,finderBounds.y + finderBounds.height - 6,8,8);
  }
}

protected void paintForeground ( Graphics g ) { if ( graphComponent != null ) { Graphics2D g2 = ( Graphics2D ) g ; Stroke stroke = g2 . getStroke ( ) ; g . setColor ( Color . BLUE ) ; g2 . setStroke ( new BasicStroke ( 3 ) ) ; g . drawRect ( finderBounds . x , finderBounds . y , finderBounds . width , finderBounds . height ) ; g2 . setStroke ( stroke ) ; g . setColor ( DEFAULT_ZOOMHANDLE_FILL ) ; g . fillRect ( finderBounds . x + finderBounds . width - 6 , finderBounds . y + finderBounds . height - 6 , 8 , 8 ) ; g . setColor ( Color . BLACK ) ; g . drawRect ( finderBounds . x + finderBounds . width - 6 , finderBounds . y + finderBounds . height - 6 , 8 , 8 ) ; } }
paints the foreground . foreground is dynamic and should never be made part of the triple buffer . it is painted on top of the buffer .
