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