1 package npw; 2 3 import painter.SPainter; 4 import shapes.SSquare; 5 import java.util.Scanner; 6 import javax.swing.*; 7 import java.awt.*; 8 9 public class Stella { 10 11 public static void main(String[] args) { 12 SwingUtilities.invokeLater(new Runnable() { 13 public void run() { 14 new Stella(); 15 } 16 }); 17 } 18 19 public Stella() { 20 paintTheImage(); 21 } 22 23 private void paintTheImage() { 24 int nrOfSquares = getNumber("Number of Squares"); 25 SPainter painter = new SPainter("Stella", 800, 800); 26 int side = 700; 27 paintTheStella(side, nrOfSquares,painter); 28 } 29 30 private static int getNumber (String prompt) { 31 String string = JOptionPane.showInputDialog(null, prompt ); 32 Scanner scanner = new Scanner(string); 33 return scanner.nextInt(); 34 } 35 36 private void paintTheStella(int side, int nrOfSquares, SPainter painter) { 37 Color color1 = randomColor(); 38 Color color2 = randomColor(); 39 int i = side; 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 cube = new SSquare(i); 47 painter.paint(cube); 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 } 59