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