1 package npw; 2 //Upper Corner Left (Blue) (Two Green) Lower Corner Right (Red) 3 import java.awt.Color; 4 import java.awt.Color; 5 import javax.swing.SwingUtilities; 6 import painter.SPainter; 7 import shapes.SCircle; 8 import shapes.SSquare; 9 10 public class KanizsaSquare { 11 private void paintTheImage() { 12 SPainter painter = new SPainter("Kanizsa Square",400,400); 13 SCircle dot = new SCircle(75); 14 paintBlueCircle(painter, dot); 15 paintRedCircle(painter, dot); 16 paintGreenCircles(painter, dot); 17 SSquare square = new SSquare(200); 18 paintWhiteSquare(painter, square); 19 } 20 21 private void paintWhiteSquare(SPainter painter, SSquare square) { 22 painter.setColor(Color.white); 23 painter.paint(square); 24 25 } 26 27 private void paintGreenCircles(SPainter painter, SCircle dot) { 28 painter.setColor(Color.GREEN); 29 painter.mrt(100); 30 painter.mfd(100); 31 painter.paint(dot); 32 painter.mlt(100); 33 painter.mbk(100); 34 painter.mlt(100); 35 painter.mbk(100); 36 painter.paint(dot); 37 painter.mrt(100); 38 painter.mfd(100); 39 } 40 41 private void paintRedCircle(SPainter painter, SCircle dot) { 42 painter.setColor(Color.RED); 43 painter.mrt(100); 44 painter.mbk(100); 45 painter.paint(dot); 46 painter.mlt(100); 47 painter.mfd(100); 48 } 49 50 private void paintBlueCircle(SPainter painter, SCircle dot) { 51 painter.setColor(Color.BLUE); 52 painter.mlt(100); 53 painter.mfd(100); 54 painter.paint(dot); 55 painter.mrt(100); 56 painter.mbk(100); 57 } 58 public KanizsaSquare() { 59 paintTheImage(); 60 } 61 public static void main(String[] args) { 62 SwingUtilities.invokeLater(new Runnable() { 63 public void run() { 64 new KanizsaSquare(); 65 } 66 67 } ); 68 } 69 }