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