1 package npw; 2 3 import java.awt.Color; 4 import java.util.Random; 5 import java.util.Scanner; 6 import javax.swing.JOptionPane; 7 import javax.swing.SwingUtilities; 8 import painter.SPainter; 9 import shapes.SSquare; 10 11 12 public class Stella { 13 private void paintTheImage() { 14 15 int numberOfSquares = getNumber("Number of squares"); 16 17 SPainter painter = new SPainter("Stella", 800, 800); 18 SSquare square = new SSquare(700); 19 20 paintTheSquare(painter,square,numberOfSquares); 21 } 22 23 private void paintTheSquare(SPainter painter, SSquare square, int numberOfSquares) { 24 int i = 1; 25 Color color1 = randomColor(); 26 Color color2 = randomColor(); 27 double shrinkingSize = square.side()/numberOfSquares; 28 while (i <= numberOfSquares) { 29 if (even(i)) { 30 painter.setColor(color1); 31 painter.paint(square); 32 } else { 33 painter.setColor(color2); 34 painter.paint(square); 35 } 36 i = i + 1; 37 square.shrink(shrinkingSize); 38 } 39 } 40 41 private Color randomColor() { 42 Random rgen = new Random(); 43 int r = rgen.nextInt(256); 44 int g = rgen.nextInt(256); 45 int b = rgen.nextInt(256); 46 return new Color(r,g,b); 47 } 48 49 50 private boolean even(int i) { 51 return (i % 2) == 0; 52 } 53 54 55 private int getNumber(String number_of_squares) { 56 String nss = JOptionPane.showInputDialog(null, number_of_squares + "?"); 57 Scanner scanner = new Scanner(nss); 58 return scanner.nextInt(); 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 public Stella() { 69 paintTheImage(); 70 } 71 } 72