1 /* 2 *To create a Kanizsa Square 3 */ 4 5 6 package npw; 7 8 import java.awt.Color; 9 import javax.swing.SwingUtilities; 10 import painter.SPainter; 11 import shapes.SCircle; 12 import shapes.SSquare; 13 14 public class KanizsaSquare { 15 private void paintTheImage() { 16 SPainter painter = new SPainter("Kanizsa Square", 400, 400); 17 18 SCircle dot = new SCircle(75); 19 paintBlueCircle(painter, dot); 20 paintRedCircle(painter, dot); 21 paintGreenCircles(painter, dot); 22 23 SSquare square = new SSquare(200); 24 paintWhiteSquare(painter, square); 25 } 26 27 private void paintBlueCircle(SPainter painter, SCircle dot) { 28 painter.setColor(Color.BLUE); 29 painter.mfd(100); 30 painter.mlt(100); 31 painter.paint(dot); 32 painter.mbk(100); 33 painter.mrt(100); 34 } 35 36 private void paintRedCircle(SPainter painter, SCircle dot) { 37 painter.setColor(Color.RED); 38 painter.mbk(100); 39 painter.mrt(100); 40 painter.paint(dot); 41 painter.mfd(100); 42 painter.mlt(100); 43 } 44 45 private void paintGreenCircles(SPainter painter, SCircle dot) { 46 painter.setColor(Color.GREEN); 47 painter.mbk(100); 48 painter.mlt(100); 49 painter.paint(dot); 50 painter.mfd(100); 51 painter.mrt(100); 52 53 painter.mfd(100); 54 painter.mrt(100); 55 painter.paint(dot); 56 painter.mbk(100); 57 painter.mlt(100); 58 59 } 60 61 private void paintWhiteSquare(SPainter painter, SSquare square) { 62 painter.setColor(Color.WHITE); 63 painter.paint(square); 64 } 65 66 private void KanizsaSquare(SPainter painter, SCircle dot) { 67 } 68 69 // REQUIRED INFRASTRUCTURE 70 public KanizsaSquare() { 71 paintTheImage(); 72 } 73 74 public static void main(String[] args) { 75 SwingUtilities.invokeLater(new Runnable() { 76 public void run() { 77 new KanizsaSquare(); 78 } 79 }); 80 } 81 }