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