1 package npw; 2 import java.awt.*; 3 import java.util.Scanner; 4 import javax.swing.*; 5 6 import painter.SPainter; 7 import shapes.SSquare; 8 9 public class Stella { 10 private void paintTheImage(){ 11 12 SPainter painter = new SPainter("Stella", 800, 800); 13 SSquare square = new SSquare(700); 14 int numberOfSquares = getSquares("number of concentric squares?"); 15 16 paintTheSquares(painter, square, numberOfSquares, randomColor(),randomColor()); 17 18 19 } 20 21 private void paintTheSquares(SPainter painter, SSquare square, int numberOfSquares, Color randomColor, Color randomColor2) { 22 double s = square.side(); 23 24 for (int i = 1; i <= numberOfSquares; i = i + 1) { 25 26 27 if (i % 2 == 0) { 28 painter.setColor(randomColor); 29 painter.paint(square); 30 31 } else {painter.setColor(randomColor2); 32 painter.paint(square); 33 34 } 35 square.shrink(s/numberOfSquares); 36 37 } 38 39 } 40 41 42 private 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 50 private static int getSquares(String prompt) { 51 String nss = JOptionPane.showInputDialog(null,prompt+"?"); 52 Scanner scanner = new Scanner(nss); 53 return scanner.nextInt(); 54 55 } 56 private Stella() { 57 paintTheImage(); 58 } 59 60 public static void main(String[] args) { 61 SwingUtilities.invokeLater(new Runnable() { 62 public void run() { 63 new Stella(); 64 } 65 }); 66 } 67 } 68 69 70 71