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 concentric squares"); 16 int shrink = 700/number; 17 SPainter rina = 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 rina.setColor(one); 26 } else { 27 rina.setColor(two); 28 } 29 rina.paint(square); 30 square.resetSide((int) (square.side()-shrink)); 31 i = i + 1; 32 } 33 } 34 35 private static int getNumber(String prompt) { 36 String nss = JOptionPane.showInputDialog(null,prompt+"?"); 37 Scanner scanner = new Scanner(nss); 38 return scanner.nextInt(); 39 } 40 41 private static Color randomColor() { 42 int rv = (int)(Math.random()*256); 43 int gv = (int)(Math.random()*256); 44 int bv = (int)(Math.random()*256); 45 return new Color(rv,gv,bv); 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 }