Stella.java
1    package npw;
2    import java.awt.*;
3    import java.util.Scanner;
4    import javax.swing.*;
5    
6    import painter.SPainter;
7    import shapes.SSquare;
8    
9    public class Stella {
10       private void paintTheImage(){
11   
12           SPainter painter = new SPainter("Stella", 800, 800);
13           SSquare square = new SSquare(700);
14           int numberOfSquares = getSquares("number of concentric squares?");
15   
16           paintTheSquares(painter, square, numberOfSquares, randomColor(),randomColor());
17   
18   
19       }
20   
21       private void paintTheSquares(SPainter painter, SSquare square, int numberOfSquares, Color randomColor, Color randomColor2) {
22               double s = square.side();
23   
24           for (int i = 1; i <= numberOfSquares; i = i + 1) {
25   
26   
27               if (i % 2 == 0) {
28                   painter.setColor(randomColor);
29                   painter.paint(square);
30   
31               } else {painter.setColor(randomColor2);
32               painter.paint(square);
33   
34               }
35               square.shrink(s/numberOfSquares);
36   
37           }
38   
39       }
40   
41   
42       private Color randomColor() {
43           int rv = (int)(Math.random() * 256);
44           int gv = (int)(Math.random() *  256);
45           int bv = (int)(Math.random() * 256);
46           return new Color(rv,gv,bv);
47       }
48   
49   
50       private static int getSquares(String prompt) {
51           String nss = JOptionPane.showInputDialog(null,prompt+"?");
52           Scanner scanner = new Scanner(nss);
53           return scanner.nextInt();
54   
55           }
56       private Stella() {
57           paintTheImage();
58       }
59   
60       public static void main(String[] args) {
61           SwingUtilities.invokeLater(new Runnable() {
62               public void run() {
63                   new Stella();
64               }
65           });
66       }
67   }
68   
69   
70   
71