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