1 2 package npw; 3 4 import painter.SPainter; 5 import shapes.SCircle; 6 import shapes.SSquare; 7 import javax.swing.*; 8 import java.awt.*; 9 10 public class Invention1 { 11 12 private void paintTheImage(){ 13 //establish the painter 14 SCircle circle = new SCircle (25); 15 SSquare square = new SSquare (50); 16 SPainter painter = new SPainter ("", 500, 500); 17 18 paintCirclesAndSquares(painter, circle, square); 19 } 20 private void paintCirclesAndSquares(SPainter painter, SCircle circle, SSquare square) { 21 22 double squareSide = square.side(); 23 int i = 1; 24 while (i<=10) { 25 if (i % 2 == 0) { 26 painter.setColor(Color.RED); 27 painter.tr(45); 28 painter.paint(square); 29 painter.tl(45); 30 painter.mfd(squareSide*1.5); 31 square.s2(); 32 painter.setColor(Color.YELLOW); 33 painter.paint(square); 34 square.x2(); 35 painter.mbk(squareSide*1.5); 36 painter.mbk(squareSide*1.5); 37 square.s2(); 38 painter.setColor(Color.CYAN); 39 painter.paint(square); 40 painter.mfd(squareSide*1.5); 41 square.x2(); 42 painter.mlt(squareSide); 43 } 44 else { 45 painter.mrt(squareSide*2); 46 painter.paint(circle); 47 painter.mfd(squareSide*1.5); 48 painter.mrt(squareSide*1.5); 49 painter.setColor(Color.CYAN); 50 circle.x2(); 51 painter.paint(circle); 52 painter.setColor(Color.RED); 53 painter.draw(circle); 54 painter.mbk(squareSide*3); 55 painter.setColor(Color.RED); 56 painter.paint(circle); 57 painter.setColor(Color.CYAN); 58 painter.draw(circle); 59 painter.mfd(squareSide*1.5); 60 painter.mlt(squareSide*3.5); 61 circle.s2(); 62 } 63 i = i + 1; 64 } 65 } 66 public Invention1() { 67 paintTheImage(); 68 } 69 public static void main (String[]args) { 70 SwingUtilities.invokeLater(new Runnable() { 71 public void run() { 72 new Invention1(); 73 } 74 }); 75 } 76 }