1 2 package npw; 3 4 import java.awt.Color; 5 import java.util.Random; 6 import java.util.Scanner; 7 import painter.SPainter; 8 import shapes.SSquare; 9 import static javax.swing.SwingUtilities.*; 10 import javax.swing.*; 11 12 13 public class Stella { 14 15 private Stella() { 16 paint(); 17 } 18 19 public static void main(String[] args) { 20 invokeLater(Stella::new); 21 } 22 23 private static Color randomColor() { 24 Random rgen = new Random(); 25 int r = rgen.nextInt(256); 26 int g = rgen.nextInt(256); 27 int b = rgen.nextInt(256); 28 return new Color(r, g, b); 29 } 30 31 private static int getNumber(String prompt) { 32 String sides = JOptionPane.showInputDialog(null, prompt + "?"); 33 Scanner scanner = new Scanner(sides); 34 int num = scanner.nextInt(); 35 System.out.println(num); 36 return num; 37 } 38 39 public void paint() { 40 SPainter painter = new SPainter("Stella", 800, 800); 41 int squareSize = 700; 42 SSquare square = new SSquare(squareSize); 43 int countSquares = getNumber("squares"); 44 int shrink = squareSize / countSquares; 45 46 drawSquare(painter, square, countSquares, shrink); 47 } 48 49 50 private void drawSquare(SPainter painter, SSquare square, int numberOfSquares, int shrink) { 51 52 boolean color = true; 53 Color color1 = randomColor(); 54 Color color2 = randomColor(); 55 for (int i = 0; i < numberOfSquares; i++) { 56 if (color) { 57 painter.setColor(color1); 58 painter.paint(square); 59 square.shrink(shrink); 60 color = false; 61 } 62 else 63 { 64 painter.setColor(color2); 65 painter.paint(square); 66 square.shrink(shrink); 67 color = true; 68 69 } 70 } 71 } 72 } 73 74