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