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 private void paintTheImage() { 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 public KanizsaSquare() { 25 paintTheImage(); 26 } 27 public static void main(String[] args) { 28 SwingUtilities.invokeLater(new Runnable() { 29 public void run() { 30 new KanizsaSquare(); 31 } 32 }); 33 } 34 35 private void paintBlueCircle(SPainter painter,SCircle dot) { 36 painter.setColor(Color.BLUE); 37 painter.mfd(dot.radius()); 38 painter.mlt(dot.radius()); 39 painter.mfd(dot.radius()/2); 40 painter.mlt(dot.radius()/2); 41 painter.paint(dot); 42 painter.moveToCenter(); 43 44 45 } 46 47 private void paintRedCircle(SPainter painter, SCircle dot) { 48 painter.setColor(Color.RED); 49 painter.mbk(dot.radius()); 50 painter.mrt(dot.radius()); 51 painter.mbk(dot.radius()/2); 52 painter.mrt(dot.radius()/2); 53 painter.paint(dot); 54 painter.moveToCenter(); 55 } 56 57 private void paintGreenCircles(SPainter painter, SCircle dot) { 58 painter.setColor(Color.GREEN); 59 painter.mfd(dot.radius()); 60 painter.mrt(dot.radius()); 61 painter.mfd(dot.radius()/2); 62 painter.mrt(dot.radius()/2); 63 painter.paint(dot); 64 painter.moveToCenter(); 65 painter.mbk(dot.radius()); 66 painter.mlt(dot.radius()); 67 painter.mbk(dot.radius()/2); 68 painter.mlt(dot.radius()/2); 69 painter.paint(dot); 70 painter.moveToCenter(); 71 } 72 73 private void paintWhiteSquare(SPainter painter, SSquare square) { 74 painter.setColor(Color.WHITE); 75 painter.paint(square); 76 } 77 } 78