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