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