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