/* program to KanizsaSquare */ package npw; import painter.SPainter; import shapes.SCircle; import shapes.SSquare; import javax.swing.*; import java.awt.*; public class KanizsaSquare { //solution to the blue dot problem private void paintTheImage(){ SPainter painter = new SPainter("Kanizsa Square",400,400); SCircle dot = new SCircle(75); paintBlueCircle(painter, dot); paintRedCircle(painter, dot); paintGreenCircles(painter, dot); SSquare square = new SSquare(200); paintWhiteSquare(painter, square); } private void paintBlueCircle(SPainter painter, SCircle dot) { painter.mfd(100); painter.mlt(100); painter.setColor(Color.blue); painter.paint(dot); painter.moveToCenter(); } private void paintRedCircle(SPainter painter, SCircle dot) { painter.mbk(100); painter.mlt(-100); painter.setColor(Color.red); painter.paint(dot); painter.moveToCenter(); } private void paintGreenCircles(SPainter painter, SCircle dot) { painter.mfd(100); painter.mlt(-100); painter.setColor(Color.green); painter.paint(dot); painter.moveToCenter(); painter.mbk(100); painter.mlt(100); painter.paint(dot); painter.moveToCenter(); } private void paintWhiteSquare(SPainter painter, SSquare square) { painter.setColor(Color.white); painter.paint(square); } //KanizsaSquare() public KanizsaSquare(){ paintTheImage(); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new KanizsaSquare(); } }); } }