package npw; import painter.SPainter; import shapes.SSquare; import javax.swing.*; import java.awt.*; import java.util.Random; import java.util.Scanner; public class Stella { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new Stella(); } }); } public Stella() { paintTheImage(); } private void paintTheImage() { int canvasSide = 800; int numOfSquares = getNumber("ENter The number of squares"); SPainter painter = new SPainter("Stella", canvasSide, canvasSide); int squareWidth = (canvasSide - 100); int i = 0; double sizeChange = ((canvasSide - 100) / numOfSquares); SSquare square = new SSquare(squareWidth); Color Color1 = randomColor(); Color Color2 = randomColor(); paintSquares(i, numOfSquares, painter, square, sizeChange, Color1, Color2); } private void paintSquares(int i, int nrOfSquares, SPainter painter, SSquare square, double sizeChange, Color randColor1, Color randColor2) { while (i < nrOfSquares) { //Alternate between two randomly colored squares, and shrink after each iteration. if (i % 2 != 0) { painter.setColor(randColor1); painter.paint(square); square.shrink(sizeChange); } else { painter.setColor(randColor2); painter.paint(square); square.shrink(sizeChange); } i = i + 1; } } private Color randomColor() { Random randColor = new Random(); int A = randColor.nextInt(250); int B = randColor.nextInt(250); int C = randColor.nextInt(250); return new Color(A, B, C); } private static int getNumber(String prompt) { String nss = JOptionPane.showInputDialog(null, prompt + "."); Scanner scanner = new Scanner(nss); return scanner.nextInt(); } }