1 package npw; 2 3 import painter.SPainter; 4 import shapes.SSquare; 5 6 import javax.swing.*; 7 import java.awt.*; 8 import java.util.Random; 9 import java.util.Scanner; 10 11 public class Stella { 12 13 public static void main(String[] args) { 14 SwingUtilities.invokeLater(Stella::new); 15 } 16 17 public Stella() { 18 paintTheImage(); 19 } 20 21 private void paintTheImage() { 22 int side = 700; 23 int number = getNumber("Number of squares"); 24 SPainter painter = new SPainter("Stella", 800, 800); 25 paintPicture(side, number, painter); 26 } 27 28 private int getNumber(String prompt) { 29 String nss = JOptionPane.showInputDialog(null,prompt+"?"); 30 Scanner scanner = new Scanner(nss); 31 return scanner.nextInt(); 32 } 33 34 private void paintPicture(int side, int number, SPainter painter) { 35 SSquare square = new SSquare(side); 36 int i = number; 37 Color firstColor = randomColor(); 38 Color secondColor = randomColor(); 39 while (i > 0) { 40 if (i % 2 == 1) { 41 painter.setColor(firstColor); 42 } else { 43 painter.setColor(secondColor); 44 } 45 painter.paint(square); 46 square.shrink(side/number); 47 i = i - 1; 48 } 49 } 50 51 private Color randomColor() { 52 Random rgb = new Random(); 53 int red = rgb.nextInt(256); 54 int green = rgb.nextInt(256); 55 int blue = rgb.nextInt(256); 56 return new Color(red,green,blue); 57 } 58 } 59