AlternateBalloons.java
1    package npw;
2    /* 
3     *Program that paints 300 multicolor balloons in a blue sky 
4     * Features commands 
5     */
6    import java.awt.Color;
7    import java.util.Random;
8    import javax.swing.SwingUtilities;
9    import painter.SPainter;
10   import shapes.SCircle;
11   import shapes.SSquare;
12   public class AlternateBalloons {
13       public AlternateBalloons(){
14           paintTheImage();
15       }
16       public static void main(String[] args){
17           SwingUtilities.invokeLater(new Runnable(){
18               public void run() {
19                   new AlternateBalloons();
20               }
21           });
22       }
23       private void paintTheImage() {
24           SPainter painter = new SPainter("AlternateBalloons", 600, 600);
25           paintSky(painter);
26           int nrOfBalloons = 300;
27           paintBalloons(painter, nrOfBalloons);
28       }
29       private void paintSky(SPainter painter) {
30           painter.setColor(Color.BLUE);
31           SSquare sky = new SSquare(2000);
32           painter.paint(sky);
33       }
34       private void paintBalloons(SPainter painter, int nrOfBalloons) {
35           int i = 1;
36           while(i <= nrOfBalloons){
37               paintOneBalloon(painter);
38               i = i + 1;
39           }
40       }
41       private void paintOneBalloon(SPainter painter) {
42           Random rgen = new Random();
43           int rn = rgen.nextInt(6);
44           if(rn == 0){
45               painter.setColor(Color.RED);
46           }
47           else if(rn == 1){
48               painter.setColor(Color.ORANGE);
49           }
50           else if(rn == 2){
51               painter.setColor(Color.GRAY);
52           }
53           else if(rn == 3){
54               painter.setColor(Color.WHITE);
55           }
56           else if(rn == 4){
57               painter.setColor(Color.CYAN);
58           }
59           else{
60               painter.setColor(Color.YELLOW);
61           }
62           painter.move();
63           int balloonRadius = 30;
64           SCircle balloon = new SCircle(balloonRadius);
65           painter.paint(balloon);
66           painter.setColor(Color.BLACK);
67           painter.draw(balloon);
68       }
69   }
70   
71   
72   
73