Stella.java
1    package npw;
2    
3    import painter.SPainter;
4    import shapes.SSquare;
5    import javax.swing.*;
6    import java.awt.*;
7    import java.util.Scanner;
8    
9    public class Stella {
10       public static void main(String[] args) {
11           SwingUtilities.invokeLater(new Runnable() {
12               public void run() {
13                   new Stella();
14               }
15           });
16       }
17       public Stella(){
18           paintTheImage();
19       }
20   
21       private void paintTheImage(){
22           int nrOfSquares = getNumber("Number of Squares");
23           SPainter painter = new SPainter("Stella", 800,800);
24           int side = 700;
25   
26           paintThePicture(side, nrOfSquares, painter);
27       }
28   
29       private static int getNumber(String prompt){
30           String nss = JOptionPane.showInputDialog(null, prompt + "?");
31           Scanner scanner = new Scanner(nss);
32           return scanner.nextInt();
33       }
34       private void paintThePicture(int side, int nrOfSquares, SPainter painter) {
35           int i = side;
36           Color color1 = randomColor();
37           Color color2 = randomColor();
38           while (i > 0) {
39               painter.setColor(color1);
40               SSquare square = new SSquare(i);
41               painter.paint(square);
42               i = i - (side/nrOfSquares);
43               painter.setColor(color2);
44               SSquare square1 = new SSquare(i);
45               painter.paint(square1);
46               i = i - (side / nrOfSquares);
47           }
48       }
49   
50       private static Color randomColor(){
51           int rv = (int)(Math.random() * 215);
52           int gv = (int) (Math.random() * 215);
53           int bv = (int) (Math.random() * 215);
54           return new Color(rv, gv, bv);
55       }
56   
57   }
58   
59   
60