// Program 19.8 Bounce
import java.awt.Graphics;
import java.applet.Applet;
import java.awt.Rectangle;
import java.awt.Color;


public class Bounce extends Applet implements Runnable {

  Rectangle r;
  int x_increment = 1;
  int y_increment = 1;
  
  public void init () {
  
    r = new Rectangle( 30, 40, 20, 20);
    Thread t = new Thread(this);
    t.start();
    
  }
  
  
  public void paint (Graphics g) {

    g.setColor(Color.red);
    g.fillOval(r.x, r.y, r.width, r.height);

  }

  public void run() {

    Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

    while (true) {  // infinite loop
      r.x += x_increment;
      r.y += y_increment;
      if (r.x >= size().width || r.x < 0) x_increment *= -1;
      if (r.y >= size().height || r.y < 0) y_increment *= -1;
      repaint();
    }
    
  }

}
