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