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