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