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 11 12 private void paintTheImage() { 13 SPainter painter = new SPainter("Kanizsa Square",400,400); 14 15 SCircle dot = new SCircle(75); 16 paintBlueCircle(painter, dot); 17 paintRedCircle(painter, dot); 18 paintGreenCircles(painter, dot); 19 20 SSquare square = new SSquare(200); 21 paintWhiteSquare(painter, square); 22 } 23 24 private void paintWhiteSquare(SPainter painter, SSquare square) { 25 painter.setColor(Color.WHITE); 26 painter.paint(square); 27 } 28 29 private void paintGreenCircles(SPainter painter, SCircle dot) { 30 painter.setColor(Color.GREEN); 31 //Top Right 32 painter.mfd(100); 33 painter.mrt(100); 34 painter.paint(dot); 35 painter.mlt(100); 36 painter.mbk(100); 37 //Bottom left 38 painter.mbk(100); 39 painter.mlt(100); 40 painter.paint(dot); 41 painter.mrt(100); 42 painter.mfd(100); 43 } 44 45 private void paintRedCircle(SPainter painter, SCircle dot) { 46 painter.setColor(Color.RED); 47 painter.mbk(100); 48 painter.mrt(100); 49 painter.paint(dot); 50 painter.mlt(100); 51 painter.mfd(100); 52 } 53 54 private void paintBlueCircle(SPainter painter, SCircle dot) { 55 painter.setColor(Color.BLUE); 56 painter.mfd(100); 57 painter.mlt(100); 58 painter.paint(dot); 59 painter.mrt(100); 60 painter.mbk(100); 61 } 62 63 64 //Required Infrastructure 65 public KanizsaSquare() { 66 paintTheImage(); 67 } 68 69 public static void main(String[] args) { 70 SwingUtilities.invokeLater(new Runnable() { 71 public void run () { 72 new KanizsaSquare(); 73 } 74 }); 75 76 } 77 } 78 79