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