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