1 package npw; 2 3 import javax.swing.SwingUtilities; 4 import painter.SPainter; 5 import shapes.SCircle; 6 import shapes.SSquare; 7 import java.awt.Color; 8 9 10 public class KanizsaSquare { 11 12 13 private void paintTheImage() { 14 SPainter klee = new SPainter("Kanizsa Square", 400,400); 15 SCircle dot = new SCircle(75); 16 paintBlueCircle(klee, dot); 17 paintRedCircle(klee, dot); 18 paintGreenCircles(klee, dot); 19 20 SSquare square = new SSquare(250); 21 22 paintWhiteSquare(klee, square); 23 } 24 25 private void paintWhiteSquare(SPainter klee, SSquare square) { 26 klee.setColor(Color.WHITE); 27 klee.paint(square); 28 } 29 30 private void paintBlueCircle(SPainter klee, SCircle dot) { 31 klee.setColor(Color.BLUE); 32 klee.mfd(125.0); 33 klee.mlt(125.0); 34 klee.paint(dot); 35 klee.mlt(300.0); 36 klee.paint(dot); 37 klee.moveToCenter(); 38 39 } 40 41 private void paintRedCircle(SPainter klee, SCircle dot) { 42 klee.setColor(Color.RED); 43 klee.mfd(125.0); 44 klee.mlt(125.0); 45 //klee.paint(dot); 46 klee.mrt(250.0); 47 klee.mbk(250.0); 48 klee.paint(dot); 49 klee.moveToCenter(); 50 } 51 52 private void paintGreenCircles(SPainter klee, SCircle dot) { 53 klee.setColor(Color.GREEN); 54 //top right dot 55 klee.mrt(450.0); 56 klee.mfd(325.0); 57 klee.mbk(200.0); 58 klee.mlt(320.0); 59 klee.paint(dot); 60 klee.moveToCenter(); 61 62 63 //bottom left dot 64 klee.setColor(Color.GREEN); 65 klee.mfd(25.0); 66 klee.mlt(250.0); 67 klee.mrt(125.0); 68 klee.mbk(150.0); 69 klee.paint(dot); 70 klee.moveToCenter(); 71 72 73 } 74 75 public KanizsaSquare(){ 76 paintTheImage(); 77 } 78 public static void main(String[] args) { 79 SwingUtilities.invokeLater(new Runnable() { 80 public void run() { 81 new KanizsaSquare(); 82 } 83 }); 84 } 85 } 86