1 package npw; 2 3 4 import java.awt.Color; 5 import javax.swing.SwingUtilities; 6 import painter.SPainter; 7 import shapes.SCircle; 8 import shapes.SSquare; 9 10 11 public class KanizsaSquare { 12 13 14 15 16 17 18 private void paintTheImage() { 19 SPainter klee = new SPainter("Kanizsa Square",400,400); 20 21 22 23 24 SCircle dot = new SCircle(75); 25 paintBlueCircle(klee,dot); 26 27 paintRedCircle(klee,dot); 28 29 paintGreenCircle(klee,dot); 30 31 32 33 SSquare square = new SSquare(200); 34 35 paintWhiteSquare(klee,square); 36 37 38 39 } 40 41 42 43 44 45 private void paintRedCircle(SPainter klee, SCircle dot) { 46 klee.setColor(Color.red); 47 klee.mrt(100); 48 klee.mbk(100); 49 klee.paint(dot); 50 klee.moveToCenter(); 51 } 52 53 private void paintBlueCircle(SPainter klee, SCircle dot) { 54 klee.setColor(Color.blue); 55 klee.mlt(100); 56 klee.mfd(100); 57 klee.paint(dot); 58 klee.moveToCenter(); 59 } 60 private void paintWhiteSquare(SPainter klee, SSquare square) { 61 klee.moveToCenter(); 62 klee.setColor(Color.white); 63 klee.paint(square); 64 65 66 } 67 private void paintGreenCircle(SPainter klee, SCircle dot) { 68 69 klee.setColor(Color.green); 70 klee.moveToCenter(); 71 klee.mrt(100); 72 klee.mfd(100); 73 74 75 klee.paint(dot); 76 77 SCircle dot1 = new SCircle(75); 78 klee.moveToCenter(); 79 klee.setColor(Color.green); 80 klee.mlt(100); 81 klee.mbk(100); 82 83 klee.paint(dot1); 84 85 86 } 87 88 89 90 91 92 93 94 95 // required infrastructure 96 97 98 99 100 101 102 public KanizsaSquare() { 103 104 paintTheImage(); 105 106 107 108 109 } 110 111 112 public static void main(String[] args) { 113 SwingUtilities.invokeLater(new Runnable() { 114 public void run() { 115 new KanizsaSquare(); 116 } 117 118 119 }); 120 } 121 122 123 } 124 125 126 127 128 129 130 131 132 133 134 135