package npw; import painter.SPainter; import shapes.SCircle; import shapes.SRectangle; import shapes.SSquare; import javax.swing.*; import java.awt.*; import java.util.Random; import java.util.Scanner; public class Invention2 { private void paintTheImage(){ //request rectangle dimensions int recWidth = getNumber("Rectangle Width"); int recHeight = getNumber("Rectangle Height"); int nrOfRectangles = getNumber("Number of Rectangles"); //creating npw objects and setting color SRectangle rectangle = new SRectangle(recHeight, recWidth); int recDiag = (int)rectangle.diagonal(); SPainter painter = new SPainter("My Invention 2",recDiag, recDiag); painter.setColor(randomColor()); //drawing rectangles int i = 0; while (i <= nrOfRectangles){ if(recHeight == recWidth){ System.out.println("That's a square not a rectangle!"); break; } oneRotation(painter, nrOfRectangles); painter.draw(rectangle); i++; } } private void oneRotation(SPainter painter, int nrOfRectangles){ painter.tr((360.0 / nrOfRectangles)); } private static String getColor(String prompt) { String nss = JOptionPane.showInputDialog(null, prompt + "?"); Scanner scanner = new Scanner(nss); return scanner.next(); } private static int getNumber(String prompt) { String nss = JOptionPane.showInputDialog(null,prompt+"?"); Scanner scanner = new Scanner(nss); return scanner.nextInt(); } private static Color randomColor() { Random rgen = new Random(); int r = rgen.nextInt(256); int g = rgen.nextInt(256); int b = rgen.nextInt(256); return new Color(r,g,b); } public Invention2() { paintTheImage(); } public static void main(String[] args) { SwingUtilities.invokeLater (new Runnable(){ public void run(){ new Invention2(); } }); } }