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