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() {new Stella();}
13           });
14       }
15       public Stella (){
16           paintTheImage();
17       }
18   
19       private void paintTheImage() {
20           int nrOfSquares = getNumber("Number Squares");
21           SPainter painter = new SPainter("Stella", 800,800);
22           int side = 700;
23           paintTheImage(side, nrOfSquares,painter);
24       }
25   
26       private static int getNumber(String prompt) {
27           String ncs = JOptionPane.showInputDialog(null,prompt+"?");
28           Scanner scanner = new Scanner(ncs);
29           return scanner.nextInt();
30       }
31   
32       private void paintTheImage(int side, int nrOfSquares,SPainter painter){
33           int i = side;
34           Color color1 = randomColor();
35           Color color2 = randomColor();
36   
37           while (i > 0){
38               painter.setColor(color1);
39               SSquare square = new SSquare(i);
40               painter.paint(square);
41               i=i-(side/nrOfSquares);
42               painter.setColor(color2);
43               SSquare square1 =new SSquare(i);
44               painter.paint(square1);
45               i= i-(side/nrOfSquares);
46           }
47       }
48   
49       private static Color randomColor(){
50           int rv = (int)(Math.random()*256);
51           int gv = (int)(Math.random()*256);
52           int bv = (int)(Math.random()*256);
53           return new Color(rv,gv,bv);
54       }
55   }