Write a Java applet to bounce 4 different colored balls inside an applet. Each
ball should be positioned in a corner of the applet. An independent thread
controls each ball. As the applet begins, each ball should move at a fixed
rate. Upon reaching an edge of the applet, the ball should randomly change its
rate and bounce off the edge at a random angle. It should NOT appear that any
ball goes out of the applet.
The following are requirements that must be followed.
1. A separate ball class should be established
with only private data values, no protected or public data values. The ball
constructor should be passed its color and initial coordinates. (See page 496
for the meaning of the coordinates of an Oval.) The ball class should have a
public method to move the ball and public methods to return the ball's coordinates.
When it has reached the edge, change the differential y or x value by a random
integer from 2 to 6 pixels.
2. Another class should implement Runnable
and extend the Applet. This routine's init routine should create the 4 balls,
the start routine should create and start the 4 threads, the stop method should
stop the threads, and the paint method should draw all 4 balls. The run method
should be in an infinite loop "trying" to sleep from 0 to 3 seconds (don't forget to
catch the Interrupted Exception). The run method should determine which
thread it is and move the appropriate ball.
If you have any questions or ambiguities, ask ME!