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       public Balloons(){
12           paintTheImage();
13       }
14       public static void main(String[] args) {
15           SwingUtilities.invokeLater(new Runnable() {
16               public void run() {
17                   new Balloons();
18               }
19           });
20       }
21       private void paintTheImage() {
22           SPainter painter = new SPainter("Balloons", 600, 600);
23           paintSky(painter);
24           int nrOfBalloons = 100;
25           paintBalloons(painter,nrOfBalloons);
26       }
27       private void paintSky(SPainter painter) {
28           painter.setColor(Color.BLUE);
29           SSquare sky = new SSquare(2000);
30           painter.paint(sky);
31       }
32       private void paintBalloons(SPainter painter, int nrOfBalloons) {
33           int i = 1;
34           while ( i <= nrOfBalloons ) {
35               paintOneBalloon(painter);
36               i = i + 1;
37           }
38       }
39       private void paintOneBalloon(SPainter painter) {
40           Random rgen = new Random();
41           int rn = rgen.nextInt(3);
42           if ( rn == 0 ) {
43               painter.setColor(Color.RED);
44           } else if ( rn == 1 ) {
45               painter.setColor(Color.ORANGE);
46           } else {
47               painter.setColor(Color.YELLOW);
48           }
49           painter.move();
50           int balloonRadius = 20;
51           SCircle balloon = new SCircle(balloonRadius);
52           painter.paint(balloon);
53           painter.setColor(Color.BLACK);
54           painter.draw(balloon);
55       }
56   }
57