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