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