1 package npw; 2 3 import painter.SPainter; 4 import shapes.SCircle; 5 import shapes.SSquare; 6 7 import javax.swing.*; 8 import java.awt.*; 9 import java.util.Random; 10 import java.util.Scanner; 11 12 public class Stella { 13 private void paintTheImage(){ 14 int NrSqr = getNumber("How many Squares?"); 15 SPainter painter = new SPainter("Painter Thing", 800,800); 16 Color color1 = randomColor(); 17 Color color2 = randomColor(); 18 SSquare square = new SSquare(700); 19 int i = 1; 20 while ( i <= NrSqr ) { 21 painter.setColor(color1); 22 paintSquare(painter, square); 23 square = new SSquare((square.perimeter() /4) * 0.9); 24 Color temp = color1; 25 color1 = color2; 26 color2 = temp; 27 i = i + 1; 28 29 30 } 31 32 33 34 35 36 37 } 38 39 private void paintSquare(SPainter painter, SSquare square) { 40 painter.paint(square); 41 } 42 43 private int getNumber(String prompt) { 44 String nss = JOptionPane.showInputDialog(null, prompt + "?"); 45 Scanner scanner = new Scanner(nss); 46 return scanner.nextInt(); 47 } 48 private static Color randomColor() { 49 Random rgen = new Random(); 50 int r = rgen.nextInt(256); 51 int g = rgen.nextInt(256); 52 int b = rgen.nextInt(256); 53 return new Color(r, g, b); 54 55 } 56 public Stella() { paintTheImage(); 57 } 58 public static void main(String[] args) { 59 SwingUtilities.invokeLater(new Runnable() { 60 public void run() { 61 new Stella(); 62 } 63 }); 64 } 65 } 66 67