Stella.java
1    package npw;
2    import java.awt.Color;
3    import java.util.Random;
4    import java.util.Scanner;
5    import painter.SPainter;
6    import shapes.SSquare;
7    import static javax.swing.SwingUtilities.*;
8    import javax.swing.*;
9    public class Stella
10   {
11       private Stella()
12       {
13           paint();
14       }
15       public static void main(String[] args)
16       {
17           invokeLater(Stella::new);
18       }
19       private static Color randomColor()
20       {
21           Random a = new Random();
22           int r = a.nextInt(256);
23           int g = a.nextInt(256);
24           int b = a.nextInt(256);
25           return new Color(r, g, b);
26       }
27       private static int getNumber(String c)
28       {
29           String side = JOptionPane.showInputDialog(null, c + "?");
30           Scanner scan = new Scanner(side);
31           int number = scan.nextInt();
32           System.out.println(number);
33           return number;
34       }
35       public void paint()
36       {
37           SPainter paint = new SPainter("Stella", 800, 800);
38           int squareSize = 700;
39           SSquare square = new SSquare(squareSize);
40           int countSquares = getNumber("squares");
41           int shrink = squareSize / countSquares;
42           drawSquare(paint, square, countSquares, shrink);
43       }
44       private void drawSquare(SPainter painter, SSquare square, int numberOfSquares, int shrink)
45       {
46           boolean color = true;
47           Color color1 = randomColor();
48           Color color2 = randomColor();
49           for (int i = 0; i < numberOfSquares; i++)
50           {
51               if (color)
52               {
53                   painter.setColor(color1);
54                   painter.paint(square);
55                   square.shrink(shrink);
56                   color = false;
57               }
58               else
59               {
60                   painter.setColor(color2);
61                   painter.paint(square);
62                   square.shrink(shrink);
63                   color = true;
64               }
65           }
66       }
67   }
68