// 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(); } } }