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