1 package npw; 2 3 import java.awt.Color; 4 import javax.swing.SwingUtilities; 5 6 import painter.SPainter; 7 import shapes.SCircle; 8 import shapes.SSquare; 9 10 11 public class KanizsaSquare { 12 13 private void paintTheImage(){ 14 SPainter painter = new SPainter("Kanizsa Square",400,400); 15 16 SCircle dot1 = new SCircle(75); 17 paintBlueCircle(painter, dot1); 18 paintRedCircle(painter, dot1); 19 paintGreenCircle1(painter, dot1); 20 paintGreenCircle2(painter, dot1); 21 22 SSquare square = new SSquare(200); 23 paintWhiteSquare(painter, square); 24 } 25 26 private void paintBlueCircle(SPainter painter, SCircle dot){ 27 painter.mfd(100); 28 painter.mlt(100); 29 painter.setColor(Color.BLUE); 30 painter.paint(dot); 31 32 } 33 34 private void paintRedCircle(SPainter painter, SCircle dot){ 35 painter.moveToCenter(); 36 painter.mbk(100); 37 painter.mrt(100); 38 painter.setColor(Color.RED); 39 painter.paint(dot); 40 41 } 42 43 private void paintGreenCircle1(SPainter painter, SCircle dot){ 44 painter.mlt(100); 45 painter.mfd(100); 46 painter.mrt(100); 47 painter.mfd(100); 48 painter.setColor(Color.GREEN); 49 painter.paint(dot); 50 51 } 52 53 private void paintWhiteSquare(SPainter painter, SSquare dot){ 54 painter.moveToCenter(); 55 painter.setColor(Color.WHITE); 56 painter.paint(dot); 57 58 } 59 60 private void paintGreenCircle2(SPainter painter, SCircle dot){ 61 painter.moveToCenter(); 62 painter.mbk(100); 63 painter.mlt(100); 64 painter.setColor(Color.GREEN); 65 painter.paint(dot); 66 } 67 68 69 70 public KanizsaSquare(){ 71 paintTheImage(); 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 }