Stella.java
1    /* 
2    A program that creates squares in squares in squares in squares... 
3     */
4    
5    package npw;
6    
7    import shapes.SSquare;
8    import painter.SPainter;
9    
10   import javax.swing.*;
11   import java.awt.*;
12   import java.util.Random;
13   import java.util.Scanner;
14   
15   public class Stella {
16   
17       public static void main(String[] args) {
18   
19           int nrOfSquares=getNumber("How many squares");
20   
21           SPainter painter = new SPainter("Stella", 800,800);
22           SSquare square = new SSquare(700);
23   
24           int i = 1;
25           int side = (700/nrOfSquares);
26   
27           Color color1 = randomColor();
28           Color color2 = randomColor();
29   
30           painter.setColor(color1);
31           painter.paint(square);
32   
33           while (i <= nrOfSquares) {
34               square.shrink(side);
35               if (i % 2 == 0) {
36                   painter.setColor(color1);
37               } else {
38                   painter.setColor(color2);
39               }
40               painter.paint(square);
41               i=i+1;
42           }
43   
44       }
45   
46       private static int getNumber(String prompt) {
47           String nss = JOptionPane.showInputDialog(null,prompt+"?");
48           Scanner scanner = new Scanner(nss);
49           return scanner.nextInt();
50       }
51   
52       private static Color randomColor() {
53           Random rgen = new Random();
54           int r = rgen.nextInt(256);
55           int g = rgen.nextInt(256);
56           int b = rgen.nextInt(256);
57           return new Color(r, g, b);
58       }
59   }
60