public void drawActualPicture( Graphics2D g )
  {
    // White background
	
    g.setPaint( Color.white );
    g.fill( new Rectangle2D.Double( 0, 0, W, H ) );

    Font font = new Font("Monospaced",Font.PLAIN,14); 
    g.setFont( font ); 

    // Blue playing border

    g.setPaint( Color.blue );              // Paint Colour
    g.draw( new Rectangle2D.Double( B, M, W-B*2, H-M-B ) );

    // Display state of game
    if ( ball == null ) return;  // Race condition
    g.setPaint( Color.blue );
    FontMetrics fm = getFontMetrics( font );
    String fmt  = "Pong - Ball [%3.0f, %3.0f] Bat [%3.0f, %3.0f]" +
                  " Bat [%3.0f, %3.0f]";
    String text = String.format( fmt, ball.getX(), ball.getY(),
                                      bats[0].getX(), bats[0].getY(), 
                                      bats[1].getX(), bats[1].getY() );
    g.drawString( text, W/2-fm.stringWidth(text)/2, (int)M*2 );

    // The ball at the current x, y position (width, height)

    g.setPaint( Color.red );
    g.fill( new Rectangle2D.Double( ball.getX(), ball.getY(), 
                                    BALL_SIZE, BALL_SIZE ) );

    g.setPaint( Color.blue );
    for ( int i=0; i<2; i++ )
      g.fill( new Rectangle2D.Double( bats[i].getX(), bats[i].getY(), 
                                      BAT_WIDTH,      BAT_HEIGHT ) );
  }