1 /* 2 * Program for drawing a square and 3 * painting circles and another square 4 * in the form of a kanizsa square. 5 */ 6 package npw; 7 8 import java.awt.Color; 9 import painter.SPainter; 10 import shapes.SCircle; 11 import shapes.SSquare; 12 13 public class KanizsaSquare { 14 public static void main(String[] args) { 15 SPainter painter = new SPainter("Kanizsa Square", 400, 400); 16 17 SSquare square = new SSquare(200); 18 SCircle dot = new SCircle(50); 19 20 drawBlackSquare(painter,square); 21 paintBlueCircles(painter,dot); 22 paintGreenCircles(painter,dot); 23 paintWhiteSquare(painter,square); 24 } 25 public static void drawBlackSquare(SPainter painter, SSquare square) { 26 painter.setColor(Color.BLACK); 27 painter.tr(45); 28 painter.draw(square); 29 painter.tl(45); //Tilt back to neutral position 30 } 31 public static void paintBlueCircles(SPainter painter, SCircle dot) { 32 painter.setColor(Color.BLUE); 33 painter.mlt(100); 34 painter.mfd(100); 35 painter.paint(dot); 36 painter.moveToCenter(); 37 38 painter.mrt(100); 39 painter.mbk(100); 40 painter.paint(dot); 41 painter.moveToCenter(); 42 } 43 public static void paintGreenCircles(SPainter painter, SCircle dot) { 44 painter.setColor(Color.GREEN); 45 painter.mlt(100); 46 painter.mbk(100); 47 painter.paint(dot); 48 painter.moveToCenter(); 49 50 painter.mrt(100); 51 painter.mfd(100); 52 painter.paint(dot); 53 painter.moveToCenter(); 54 } 55 56 public static void paintWhiteSquare(SPainter painter, SSquare square){ 57 painter.setColor(Color.WHITE); 58 painter.paint(square); 59 painter.moveToCenter(); 60 } 61 } 62