1 package npw; 2 //Setting up concentric squares. 3 import java.awt.Color; 4 import java.util.Scanner; 5 import javax.swing.JOptionPane; 6 import javax.swing.SwingUtilities; 7 import painter.SPainter; 8 import shapes.SSquare; 9 10 public class Stella { 11 12 private void paintTheImage() { 13 int numberOfSquares = getNum("How many squares?"); 14 SPainter letsDoThis = new SPainter("Stella",800,800); 15 SSquare oop = new SSquare(700); 16 makeCreation(numberOfSquares,oop,letsDoThis); 17 18 19 } 20 21 22 private void makeCreation(int numberOfSquares, SSquare oop, SPainter letsDoThis) { 23 int rv = (int) (Math.random()*256); 24 int gv =(int) (Math.random()*256); 25 int bv = (int) (Math.random()*256); 26 int r = (int) (Math.random()*256); 27 int g =(int) (Math.random()*256); 28 int b = (int) (Math.random()*256); 29 Color one = new Color(rv,gv,bv); 30 Color two = new Color(r,g,b); 31 letsDoThis.setColor(one); 32 letsDoThis.paint(oop); 33 int i = 1; 34 int side = (int) oop.side(); 35 int amount = 2*(side/2)/numberOfSquares; 36 while (i < numberOfSquares) { 37 oop.resetSide((int) (oop.side()-amount)); 38 letsDoThis.setColor(two); 39 letsDoThis.paint(oop); 40 i = i + 1; 41 if (i < numberOfSquares) { 42 oop.resetSide((int) (oop.side()-amount)); 43 letsDoThis.setColor(one); 44 letsDoThis.paint(oop); 45 } 46 i = i + 1; 47 } 48 } 49 50 51 52 53 private int getNum(String prompt) { 54 String nss = JOptionPane.showInputDialog(null,prompt+"?"); 55 Scanner scan = new Scanner(nss); 56 return scan.nextInt(); 57 } 58 59 public Stella(){ 60 paintTheImage(); 61 } 62 public static void main(String[] args){ 63 SwingUtilities.invokeLater(new Runnable() { 64 @Override 65 public void run() { 66 new Stella(); 67 } 68 }); 69 } 70 } 71