CS1 Standard Demo Page

The following text was written to the standard output stream when the Balloons.java program was executed from IntelliJ.

/*
 * Program that paints 100 red, yellow and orange balloons in one sky.
 * It will feature commands
 */
package npw;

import painter.SPainter;
import shapes.SCircle;
import shapes.SSquare;

import javax.swing.*;
import java.awt.*;
import java.util.Random;

public class Balloons {
    //REQUIRED INFRASTRUCTURE
    public Balloons() {
     paintTheImage();
    }

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            new Balloons();
        }
    });
    }
// THE PAINTER DOING ITS THING
private void paintTheImage() {
    SPainter painter= new SPainter("Balloons" , 600 ,600);
    paintSky(painter);
    int nrOfBalloons = 100;
    paintBalloons(painter, nrOfBalloons);
}

    private void paintBalloons(SPainter painter, int nrOfBalloons) {
        int i = 1;
        while (i <= nrOfBalloons) {
            paintOneBalloon(painter);
            i = i + 1;
        }
    }

    private void paintOneBalloon(SPainter painter) {
        Random rgen = new Random();
        int rn =  rgen.nextInt(3);
        if ( rn == 0 ) {
            painter.setColor(Color.RED);
        } else if ( rn == 1) {
            painter.setColor(Color.ORANGE);
        } else {
            painter.setColor(Color.YELLOW);
        }
        painter.move();
        int balloonRadius = 20;
        SCircle balloon = new SCircle(balloonRadius);
        painter.paint(balloon);
        painter.setColor(Color.BLACK);
        painter.draw(balloon);
    }

    private void paintSky(SPainter painter) {
        painter.setColor(Color.BLUE);
        SSquare sky = new SSquare(2000);
        painter.paint(sky);
    }
    }