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